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