(file) Return to library-unix.mak CVS log (file) (dir) Up to [Pegasus] / pegasus / mak

  1 karl  1.67 #//%2006////////////////////////////////////////////////////////////////////////
  2 martin 1.62 #//
  3             #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4             #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5             #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6             #// IBM Corp.; EMC Corporation, The Open Group.
  7             #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8             #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9             #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10             #// EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl   1.67 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12             #// EMC Corporation; Symantec Corporation; The Open Group.
 13 martin 1.62 #//
 14             #// Permission is hereby granted, free of charge, to any person obtaining a copy
 15             #// of this software and associated documentation files (the "Software"), to
 16             #// deal in the Software without restriction, including without limitation the
 17             #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18             #// sell copies of the Software, and to permit persons to whom the Software is
 19             #// furnished to do so, subject to the following conditions:
 20             #// 
 21             #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22             #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23             #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24             #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25             #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26             #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27             #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28             #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29             #//
 30             #//==============================================================================
 31 mike   1.4  ifeq ($(COMPILER),xlc)
 32 sage   1.29   LINK_COMMAND = xlC_r
 33 kv.le  1.46   ifdef PEGASUS_USE_RELEASE_DIRS
 34 kv.le  1.61     ifdef PEGASUS_HAS_MESSAGES
 35                   ifdef ICU_ROOT
 36                     ifdef ICU_INSTALL
 37                       LINK_ARGUMENTS = -qmkshrobj=$(AIX_LIB_PRIORITY) -blibpath:/usr/linux/lib:/usr/lib:/lib:$(ICU_INSTALL)/lib -Wl,-bhalt:$(AIX_LD_HALT)
 38                     endif
 39                   endif
 40                 else
 41                   LINK_ARGUMENTS = -qmkshrobj=$(AIX_LIB_PRIORITY) -blibpath:/usr/linux/lib:/usr/lib:/lib -Wl,-bhalt:$(AIX_LD_HALT)
 42                 endif
 43 kv.le  1.46   else
 44                 LINK_ARGUMENTS = -qmkshrobj=$(AIX_LIB_PRIORITY) -Wl,-bhalt:$(AIX_LD_HALT)
 45               endif
 46 mike   1.4    LINK_OUT = -o
 47 sage   1.29   ifeq ($(PEGASUS_SUPPORTS_DYNLIB), yes)
 48                 LINK_COMMAND += -G
 49               endif
 50 mike   1.4  endif
 51             
 52 mike   1.5  ifeq ($(COMPILER),acc)
 53 kumpf  1.55   LINK_COMMAND = $(CXX) -b -Wl,+hlib$(LIBRARY)$(LIB_SUFFIX)
 54 kumpf  1.31   ifeq ($(PEGASUS_PLATFORM), HPUX_IA64_ACC)
 55 mateus.baur 1.67.2.1     LINK_COMMAND += +DD64 -mt -Wl,+rpathfirst
 56 kumpf       1.55       else
 57                          LINK_COMMAND += -Wl,-Bsymbolic
 58 kumpf       1.22       endif
 59 kumpf       1.11       ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
 60 kumpf       1.43         ifdef PEGASUS_USE_RELEASE_DIRS
 61 denise.eckstein 1.58           LINK_COMMAND += -Wl,+b$(PEGASUS_DEST_LIB_DIR):/usr/lib
 62 kumpf           1.44           ifeq ($(PEGASUS_PLATFORM), HPUX_PARISC_ACC)
 63 w.otsuka        1.49             LINK_COMMAND += -Wl,+cdp,$(PEGASUS_PLATFORM_SDKROOT)/usr/lib:/usr/lib -Wl,+cdp,$(PEGASUS_HOME)/lib:$(PEGASUS_DEST_LIB_DIR)
 64 kumpf           1.44           endif
 65 kumpf           1.43         else
 66 denise.eckstein 1.58             LINK_COMMAND += -Wl,+b$(LIB_DIR):/usr/lib
 67 r.kieninger     1.52         endif
 68 kumpf           1.11       endif
 69 denise.eckstein 1.59       LINK_COMMAND += -Wl,+s
 70 aruran.ms       1.63       ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS 
 71 kumpf           1.11         LINK_COMMAND += -g
 72                            endif
 73 mike            1.15       ifdef PEGASUS_CCOVER
 74 denise.eckstein 1.56         EXTRA_LIBRARIES += $(CCOVER_LIB)/libcov.a
 75 mike            1.15       endif
 76 mike            1.5        LINK_ARGUMENTS =
 77                            LINK_OUT = -o
 78                          endif
 79                          
 80 mike            1.4      ifeq ($(COMPILER),gnu)
 81 dudhe.girish    1.45       ifneq ($(PEGASUS_PLATFORM),DARWIN_PPC_GNU)
 82 denise.eckstein 1.50        ifdef PEGASUS_USE_RELEASE_DIRS
 83 w.otsuka        1.65           LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS)
 84 w.otsuka        1.57           LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX)  -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR)
 85 denise.eckstein 1.50        else
 86 w.otsuka        1.65           LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS)
 87 denise.eckstein 1.50           LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX)  -Xlinker -rpath -Xlinker $(LIB_DIR) $(EXTRA_LINK_ARGUMENTS)
 88                             endif
 89 dudhe.girish    1.45       else
 90 kumpf           1.60         LINK_COMMAND = $(CXX) -dynamiclib
 91 kumpf           1.47         LINK_ARGUMENTS = --helplib$(LIBRARY)$(LIB_SUFFIX) -ldl
 92 dudhe.girish    1.45       endif
 93 konrad.r        1.53       ifeq ($(PEGASUS_PLATFORM), SOLARIS_SPARC_GNU)
 94                          	LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -L$(LIB_DIR) $(EXTRA_LINK_ARGUMENTS)
 95                            endif
 96 mike            1.4        LINK_OUT = -o
 97                          endif
 98 mike            1.5      
 99 mike            1.12     ifeq ($(COMPILER),deccxx)
100                            LINK_COMMAND = cxx -shared
101                            LINK_ARGUMENTS =
102                            LINK_OUT = -o
103                          endif
104                          
105 mike            1.15     ifeq ($(COMPILER),ibm)
106 r.kieninger     1.52       LINK_COMMAND = $(CXX) $(FLAGS)
107 marek           1.64       LINK_ARGUMENTS = -W "l,XPLINK,dll,EDIT=NO"
108 mike            1.15       LINK_OUT = -o
109                          endif
110                          
111 keith.petley    1.40     ifeq ($(COMPILER),CC)
112                            LINK_COMMAND = CC
113                            LINK_ARGUMENTS = -G -KPIC -mt -h lib$(LIBRARY).so
114                            LINK_OUT = -o
115 mike            1.66       EXTRA_LIBRARIES += $(LIBRARY_SYS_LIBS)
116 keith.petley    1.40     endif
117                          
118 w.otsuka        1.57     ifdef EXTRA_LINK_FLAGS
119                            LINK_COMMAND += $(EXTRA_LINK_FLAGS)
120                          endif
121                          
122 mike            1.5      FULL_LIB=$(LIB_DIR)/lib$(LIBRARY)$(LIB_SUFFIX)
123 mike            1.4      
124 kumpf           1.11     ## Rule for all UNIX library builds
125 mike            1.16     $(FULL_LIB): $(LIB_DIR)/target $(OBJ_DIR)/target $(OBJECTS) $(FULL_LIBRARIES) \
126 mike            1.13         $(ERROR)
127 kumpf           1.11       ifeq ($(PEGASUS_SUPPORTS_DYNLIB),yes)
128                              ## To generate shared libraries which will cause dynamic
129                              ## search of other shared libraries which they reference,
130                              ## must specify the referenced shared libraries as "-l<name>"
131                              ## DYNAMIC_LIBRARIES must be defined appropriately in the
132                              ## libraries.mak file that includes this file
133                              ##
134 kv.le           1.41     
135 kv.le           1.42     
136 kv.le           1.41         ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
137                          	rm -f $(FULL_LIB)
138                              endif
139                          
140 kumpf           1.28     	$(LINK_COMMAND) $(LINK_ARGUMENTS) -L$(LIB_DIR) $(LINK_OUT) $(FULL_LIB) $(OBJECTS) $(DYNAMIC_LIBRARIES) $(EXTRA_LIBRARIES)
141 mike            1.15     
142                              ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
143                                ## z/OS needs side definition files to link executables to
144                                ## dynamic libraries, so we have to copy them into the lib_dir
145 sage            1.21     	touch $(ROOT)/src/$(DIR)/lib$(LIBRARY).x
146                          	cp $(ROOT)/src/$(DIR)/lib$(LIBRARY).x $(LIB_DIR)
147 mike            1.15         endif
148 kumpf           1.36       else
149                          	$(LINK_COMMAND) $(LINK_ARGUMENTS) $(LINK_OUT) $(FULL_LIB) $(OBJECTS) $(FULL_LIBRARIES) $(EXTRA_LIBRARIES)
150                            endif
151                              ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC)
152 kumpf           1.34     	$(MAKE) --directory=$(LIB_DIR) -f $(PEGASUS_ROOT)/mak/library-unix.mak ln LIBRARY=lib$(LIBRARY) SUFFIX=$(LIB_SUFFIX) PLATFORM_SUFFIX=sl
153                              endif
154 kumpf           1.36         ifeq ($(PEGASUS_PLATFORM),HPUX_IA64_ACC)
155                          	$(MAKE) --directory=$(LIB_DIR) -f $(PEGASUS_ROOT)/mak/library-unix.mak ln LIBRARY=lib$(LIBRARY) SUFFIX=$(LIB_SUFFIX) PLATFORM_SUFFIX=so
156                              endif
157 david.eger      1.39         ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
158 david.eger      1.38     	$(MAKE) --directory=$(LIB_DIR) -f $(PEGASUS_ROOT)/mak/library-unix.mak ln LIBRARY=lib$(LIBRARY) SUFFIX=$(LIB_SUFFIX) PLATFORM_SUFFIX=so
159                              endif
160 mike            1.13     	$(TOUCH) $(FULL_LIB)
161 mike            1.7      	@ $(ECHO)
162 mike            1.1      
163 mike            1.3      clean-lib: $(ERROR)
164                          	rm -f $(FULL_LIB)
165 kumpf           1.26     
166                          ln:
167 kumpf           1.34     	ln -f -s $(LIBRARY)$(SUFFIX) $(LIBRARY).$(PLATFORM_SUFFIX)
168 mike            1.3      
169 mike            1.1      FILES_TO_CLEAN = $(OBJECTS) $(FULL_LIB)

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2