(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 kumpf  1.22     LINK_COMMAND += +DD64 -mt
 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