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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2