Makefile.in (2910B)
1 # 2 # This Source Code Form is subject to the terms of the Mozilla Public 3 # License, v. 2.0. If a copy of the MPL was not distributed with this 4 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 6 #! gmake 7 8 MOD_DEPTH = ../.. 9 topsrcdir = @top_srcdir@ 10 srcdir = @srcdir@ 11 VPATH = @srcdir@ 12 13 include $(MOD_DEPTH)/config/autoconf.mk 14 15 include $(topsrcdir)/config/config.mk 16 17 ifeq ($(OS_ARCH), BeOS) 18 CFLAGS += -frtti -fexceptions 19 endif 20 21 INCLUDES = -I$(dist_includedir) 22 23 HEADERS = $(wildcard $(srcdir)/*.h) 24 25 CSRCS = \ 26 plvrsion.c \ 27 $(NULL) 28 29 CXXSRCS = \ 30 prstrms.cpp \ 31 $(NULL) 32 33 OBJS = $(addprefix $(OBJDIR)/,$(CSRCS:.c=.$(OBJ_SUFFIX)) $(CXXSRCS:.cpp=.$(OBJ_SUFFIX))) 34 35 ifeq ($(OS_ARCH), WINNT) 36 RES=$(OBJDIR)/prstrms.res 37 RESNAME=prstrms.rc 38 OS_LIBS = user32.lib 39 else 40 ifeq ($(OS_ARCH), AIX) 41 ifeq ($(OS_RELEASE), 4.1) 42 ifeq ($(CLASSIC_NSPR),1) 43 OS_LIBS += -lC -lc 44 else 45 OS_LIBS += -lC_r -lc_r 46 endif 47 else 48 # makeC++SharedLib(_r) is in either /usr/lpp/xlC/bin 49 # or /usr/ibmcxx/bin. 50 ifeq ($(CLASSIC_NSPR),1) 51 MKSHLIB = makeC++SharedLib -p 0 52 else 53 MKSHLIB = makeC++SharedLib_r -p 0 54 endif 55 OS_LIBS += -ldl 56 endif 57 endif 58 endif 59 60 ifeq ($(OS_ARCH),BeOS) 61 OS_LIBS = -lstdc++.r4 62 endif 63 64 EXTRA_LIBS = $(LIBNSPR) 65 66 # On SCOOS, we can't link with extra libraries when 67 # we build a shared library. If we do so, the linker doesn't 68 # complain, but we would run into weird problems at run-time. 69 # Therefore on these platforms, we link just the object files. 70 ifeq ($(OS_ARCH),SCOOS) 71 EXTRA_LIBS = 72 endif 73 74 ifdef RESOLVE_LINK_SYMBOLS 75 EXTRA_LIBS += $(OS_LIBS) 76 endif 77 78 LIBRARY_NAME = prstrms 79 LIBRARY_VERSION = $(MOD_MAJOR_VERSION) 80 81 RELEASE_HEADERS = $(HEADERS) 82 RELEASE_HEADERS_DEST = $(RELEASE_INCLUDE_DIR) 83 RELEASE_LIBS = $(TARGETS) 84 85 include $(topsrcdir)/config/rules.mk 86 87 # 88 # Version information generation (begin) 89 # 90 ECHO = echo 91 TINC = $(OBJDIR)/_pl_bld.h 92 PROD = $(notdir $(SHARED_LIBRARY)) 93 NOW = $(MOD_DEPTH)/config/$(OBJDIR)/now 94 SH_DATE = $(shell date "+%Y-%m-%d %T") 95 SH_NOW = $(shell $(NOW)) 96 97 ifeq ($(OS_ARCH), WINNT) 98 SUF = i64 99 else 100 SUF = LL 101 endif 102 103 $(TINC): 104 @$(MAKE_OBJDIR) 105 @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) 106 @if test ! -z "$(SH_NOW)"; then \ 107 $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ 108 else \ 109 true; \ 110 fi 111 @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) 112 113 114 $(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) 115 ifeq ($(OS_ARCH), WINNT) 116 $(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $< 117 else 118 $(CC) -o $@ -c $(CFLAGS) -I$(OBJDIR) $< 119 endif 120 # 121 # Version information generation (end) 122 # 123 124 export:: $(TARGETS) $(HEADERS) 125 $(INSTALL) -m 444 $(HEADERS) $(dist_includedir) 126 $(INSTALL) -m 444 $(TARGETS) $(dist_libdir) 127 ifeq ($(OS_ARCH),HP-UX) 128 ifdef SHARED_LIBRARY 129 $(INSTALL) -m 755 $(SHARED_LIBRARY) $(dist_libdir) 130 endif 131 endif