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