1 mike 1.2 INCLUDES = -I$(ROOT)/src $(EXTRA_INCLUDES)
2
3 TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i)
4
|
5 schuur 1.19 ifeq ($(OS_TYPE),windows)
6 CPP_OBJECTS = $(TMP_OBJECTS:.cpp=.obj)
7 OBJECTS = $(CPP_OBJECTS:.c=.obj)
8 else
9 CPP_OBJECTS = $(TMP_OBJECTS:.cpp=.o)
10 OBJECTS = $(CPP_OBJECTS:.c=.o)
11 endif
|
12 mike 1.2
13 FULL_PROGRAM=$(BIN_DIR)/$(PROGRAM)$(EXE)
14
15 EXE_OUTPUT = $(EXE_OUT) $(FULL_PROGRAM)
16
|
17 kumpf 1.15 ifdef PEGASUS_HAS_MESSAGES
18 ifdef ICU_ROOT
19 ifdef ICU_INSTALL
20 SYS_LIBS += -L${ICU_INSTALL}/lib -licui18n -licuuc
21 endif
22 endif
23 endif
24
|
25 kumpf 1.4 ifdef PEGASUS_PURIFY
26 PUREOPTIONS = -follow-child-processes=yes -locking=no \
27 -always-use-cache-dir -cache-dir=$(PURIFY_TMP)/cache \
28 -view-file=$(PURIFY_TMP)/$(PROGRAM).pv \
29 -log-file=$(PURIFY_TMP)/$(PROGRAM).log
30 LINK_WRAPPER = $(PURIFY_HOME)/purify $(PUREOPTIONS)
31 SYS_LIBS += $(PURIFY_HOME)/libpurify_stubs.a
32 endif
33
|
34 mike 1.3 $(FULL_PROGRAM): $(OBJ_DIR)/target $(BIN_DIR)/target $(OBJECTS) $(FULL_LIBRARIES) $(ERROR)
|
35 mike 1.2 ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
36
37 ##
38 ## build images with -l<name> syntax for needed shared libraries
39 ## DYNAMIC_LIBRARIES is defined appropriately in libraries.mak and Makefile
40 ## files
41 ##
|
42 kumpf 1.16 ## ICU_INSTALL - Specifies the directory path where the ICU lib directory is located.
43 ## This will set runtime library search path for ICU libraries to ${ICU_INSTALL}/lib
44 ##
|
45 mike 1.2 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
46 $(LINK_WRAPPER) $(CXX) $(PR_FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
47 else
|
48 david.eger 1.14 ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
49 kumpf 1.15 ifdef PEGASUS_HAS_MESSAGES
50 ifdef ICU_ROOT
51 ifdef ICU_INSTALL
|
52 kumpf 1.20 ifdef PEGASUS_HAS_SSL
53 ifdef PEGASUS_USE_SSL_SHAREDLIB
54 ifdef PEGASUS_USE_RELEASE_DIRS
|
55 w.otsuka 1.23 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
56 kumpf 1.20 else
57 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker $(OPENSSL_HOME)/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
58 endif
59 else
60 ifdef PEGASUS_USE_RELEASE_DIRS
|
61 w.otsuka 1.23 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
62 kumpf 1.20 else
|
63 kumpf 1.22 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
64 kumpf 1.20 endif
65 endif
|
66 kumpf 1.17 else
|
67 kumpf 1.20 ifdef PEGASUS_USE_RELEASE_DIRS
|
68 w.otsuka 1.23 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
69 kumpf 1.20 else
|
70 kumpf 1.22 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -Xlinker -rpath -Xlinker ${ICU_INSTALL}/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
71 kumpf 1.20 endif
|
72 kumpf 1.17 endif
|
73 kumpf 1.15 endif
74 endif
75 else
|
76 kumpf 1.20 ifdef PEGASUS_HAS_SSL
77 ifdef PEGASUS_USE_SSL_SHAREDLIB
78 ifdef PEGASUS_USE_RELEASE_DIRS
|
79 w.otsuka 1.23 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
80 kumpf 1.20 else
81 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -Xlinker -rpath-link -Xlinker $(OPENSSL_HOME)/lib -Xlinker -rpath -Xlinker $(OPENSSL_HOME)/lib -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
82 endif
83 else
84 ifdef PEGASUS_USE_RELEASE_DIRS
|
85 w.otsuka 1.23 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
86 kumpf 1.20 else
87 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
88 endif
89 endif
|
90 kumpf 1.17 else
|
91 kumpf 1.20 ifdef PEGASUS_USE_RELEASE_DIRS
|
92 w.otsuka 1.23 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) -Xlinker -rpath-link -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
93 kumpf 1.20 else
94 $(LINK_WRAPPER) $(CXX) $(FLAGS) -Xlinker -rpath -Xlinker $(LIB_DIR) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
95 endif
|
96 kumpf 1.17 endif
|
97 kumpf 1.20 endif
|
98 david.eger 1.14 else
99 ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
|
100 kv.le 1.18 ifdef PEGASUS_USE_RELEASE_DIRS
|
101 w.otsuka 1.23 $(LINK_WRAPPER) $(CXX) -Wl,-brtl -blibpath:$(PEGASUS_DEST_LIB_DIR):/usr/lib:/lib -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
102 kv.le 1.18 else
103 $(LINK_WRAPPER) $(CXX) -Wl,-brtl -Wl,-bhalt:$(AIX_LD_HALT) $(FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
104 endif
105 else
|
106 mike 1.2 $(LINK_WRAPPER) $(CXX) $(FLAGS) -L$(LIB_DIR) $(EXE_OUTPUT) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(SYS_LIBS)
|
107 david.eger 1.14 endif
108 endif
|
109 mike 1.2 endif
110
111 $(TOUCH) $(FULL_PROGRAM)
112 @ $(ECHO)
113 else
|
114 mike 1.3 $(LINK_WRAPPER) $(CXX) $(FLAGS) $(EXE_OUTPUT) $(OBJECTS) $(FULL_LIBRARIES) $(SYS_LIBS)
|
115 mike 1.2 endif
116 $(TOUCH) $(FULL_PROGRAM)
117 @ $(ECHO)
118
119 include $(ROOT)/mak/objects.mak
120
121 FILES_TO_CLEAN = $(OBJECTS) $(FULL_PROGRAM)
122
123 include $(ROOT)/mak/clean.mak
124
125 -include $(ROOT)/mak/depend.mak
126
127 include $(ROOT)/mak/build.mak
128
129 include $(ROOT)/mak/sub.mak
130
131 -include $(OBJ_DIR)/depend.mak
132
133 include $(ROOT)/mak/misc.mak
|