1 mike 1.1
|
2 mike 1.4 ifeq ($(COMPILER),xlc)
|
3 mike 1.6 LINK_COMMAND = makeC++SharedLib
|
4 mike 1.4 LINK_ARGUMENTS = -p 0
5 LINK_OUT = -o
6 endif
7
|
8 mike 1.5 ifeq ($(COMPILER),acc)
9 LINK_COMMAND = aCC -b
|
10 kumpf 1.11 ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
11 LINK_COMMAND += -Wl,+b/usr/lib -Wl,+s
12 endif
13 ifdef PEGASUS_DEBUG
14 LINK_COMMAND += -g
15 endif
|
16 mike 1.5 LINK_ARGUMENTS =
17 LINK_OUT = -o
18 endif
19
|
20 mike 1.4 ifeq ($(COMPILER),gnu)
|
21 kumpf 1.11 LINK_COMMAND = g++ -shared
22 LINK_ARGUMENTS =
|
23 mike 1.4 LINK_OUT = -o
24 endif
|
25 mike 1.5
|
26 mike 1.12 ifeq ($(COMPILER),deccxx)
27 LINK_COMMAND = cxx -shared
28 LINK_ARGUMENTS =
29 LINK_OUT = -o
30 endif
31
|
32 sage 1.14.2.1 ifeq ($(COMPILER),ibm)
33 LINK_COMMAND = c++ -W l,dll -W c,dll,expo
34 LINK_ARGUMENTS =
35 LINK_OUT = -o
36 endif
37
|
38 mike 1.5 FULL_LIB=$(LIB_DIR)/lib$(LIBRARY)$(LIB_SUFFIX)
|
39 mike 1.4
|
40 kumpf 1.11 ## Rule for all UNIX library builds
|
41 mike 1.13 $(FULL_LIB): $(LIB_DIR)/target $(OBJ_DIR)/target $(OBJECTS) $(LIBRARIES) \
42 $(ERROR)
|
43 mike 1.7 ifneq ($(COMPILER),xlc)
|
44 kumpf 1.11 ## Actions for all UNIX compilers except xlc
45 ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
46 ## To generate shared libraries which will cause dynamic
47 ## search of other shared libraries which they reference,
48 ## must specify the referenced shared libraries as "-l<name>"
49 ## DYNAMIC_LIBRARIES must be defined appropriately in the
50 ## libraries.mak file that includes this file
51 ##
52 $(LINK_COMMAND) $(LINK_ARGUMENTS) -L$(LIB_DIR) $(LINK_OUT)$(FULL_LIB) $(OBJECTS) $(DYNAMIC_LIBRARIES)
|
53 sage 1.14.2.1
54 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
55 ## z/OS needs side definition files to link executables to
56 ## dynamic libraries, so we have to copy them into the lib_dir
57 $(COPY) $(ROOT)/src/$(DIR)/*.x $(LIB_DIR)
58 endif
59
|
60 kumpf 1.11 else
|
61 mike 1.12 $(LINK_COMMAND) $(LINK_ARGUMENTS) $(LINK_OUT) $(FULL_LIB) $(OBJECTS) $(LIBRARIES)
|
62 kumpf 1.11 endif
|
63 mike 1.7 else
|
64 mike 1.8 ar crv $(PEGASUS_PLATFORM).lib $(OBJECTS) $(LIBRARIES)
|
65 mike 1.7 $(LINK_COMMAND) $(LINK_ARGUMENTS) $(LINK_OUT)$(FULL_LIB) $(PEGASUS_PLATFORM).lib
66 rm -f $(PEGASUS_PLATFORM).lib
|
67 mike 1.14 endif
|
68 mike 1.13 $(TOUCH) $(FULL_LIB)
|
69 mike 1.7 @ $(ECHO)
|
70 mike 1.1
|
71 mike 1.3 clean-lib: $(ERROR)
72 rm -f $(FULL_LIB)
73
|
74 mike 1.1 FILES_TO_CLEAN = $(OBJECTS) $(FULL_LIB)
|