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

  1 karl  1.42 #//%2006////////////////////////////////////////////////////////////////////////
  2 martin 1.35 #//
  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.42 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12             #// EMC Corporation; Symantec Corporation; The Open Group.
 13 martin 1.35 #//
 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 kumpf  1.7  # Configuration options for Pegasus on all architectures running Linux
 32             
 33             include $(ROOT)/mak/config-unix.mak
 34             
 35             PEGASUS_PLATFORM_LINUX_GENERIC_GNU = 1
 36             DEFINES += -DPEGASUS_PLATFORM_LINUX_GENERIC_GNU
 37             DEFINES += -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
 38             
 39 jim.wunderlich 1.38 #########################################################################
 40                     ##
 41                     ## Platform specific compile options controlled by environment variables
 42                     ## are set here.  
 43                     ##
 44                     #########################################################################
 45                     
 46                     
 47                     # Enable OOP by default if preference not already set in the environment
 48                     #
 49 jim.wunderlich 1.39 ifndef PEGASUS_DEFAULT_ENABLE_OOP
 50                     PEGASUS_DEFAULT_ENABLE_OOP = true
 51 jim.wunderlich 1.38 endif
 52                     
 53                     
 54 konrad.r       1.27 # Enable CMPI by default.
 55                     #
 56 denise.eckstein 1.45 ifndef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
 57 denise.eckstein 1.46 PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
 58 denise.eckstein 1.45 endif
 59 konrad.r        1.27 
 60 jim.wunderlich  1.38 #########################################################################
 61                      
 62 kumpf           1.7  OS = linux
 63                      
 64                      COMPILER = gnu
 65                      
 66                      PLATFORM_VERSION_SUPPORTED = yes
 67                      
 68 konrad.r        1.17 ifndef CXX
 69 kumpf           1.7  CXX = g++
 70 konrad.r        1.17 endif
 71 kumpf           1.7  
 72                      SH = sh
 73                      
 74 david.dillard   1.30 YACC = bison
 75 kumpf           1.7  
 76 jim.wunderlich  1.32 RM = rm -f
 77                      
 78                      DIFF = diff
 79                      
 80                      SORT = sort
 81                      
 82 kumpf           1.7  COPY = cp
 83                      
 84                      MOVE = mv
 85                      
 86 konrad.r        1.15 MKDIRHIER = mkdir -p
 87                      
 88 kumpf           1.7  PEGASUS_SUPPORTS_DYNLIB = yes
 89                      
 90                      MAJOR_VERSION_NUMBER = 1
 91                      
 92                      LIB_SUFFIX = .so.$(MAJOR_VERSION_NUMBER)
 93                      
 94 kumpf           1.11 DEFINES += -DPEGASUS_USE_SYSLOGS
 95                      
 96 kumpf           1.7  DEFINES += -DPEGASUS_HAS_SIGNALS
 97                      
 98 mike            1.49 SYS_LIBS = -ldl -lpthread -lcrypt
 99 kumpf           1.7  
100                      # PAM support
101                      ifdef PEGASUS_PAM_AUTHENTICATION
102                         ifeq ($(HPUX_IA64_VERSION), yes)
103                            SYS_LIBS += -L$(PAMLIB_HOME) -lpam
104                         else
105                            SYS_LIBS += -lpam
106                         endif
107                      
108                      ## The following flags need to be set or unset
109                      ## to compile-in the code required for PAM authentication
110                      ## and compile-out the code that uses the password file.
111                      
112                       DEFINES += -DPEGASUS_PAM_AUTHENTICATION -DPEGASUS_NO_PASSWORDFILE
113                      
114                      endif
115                      
116 mike            1.49 FLAGS += -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT
117                      
118                      ##==============================================================================
119                      ##
120                      ## The DYNAMIC_FLAGS variable defines linker flags that only apply to shared
121                      ## libraries.
122                      ##
123                      ##==============================================================================
124                      DYNAMIC_FLAGS += -fPIC
125 kumpf           1.7  
126 aruran.ms       1.36 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS 
127 mike            1.43   FLAGS += -g
128 kumpf           1.7  else
129 mike            1.43   FLAGS += -s
130                        #
131                        # The -fno-enforce-eh-specs is not available in 2.9.5 and it probably
132                        # appeared in the 3.0 series of compilers.
133                        #
134                        ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1)
135                          EXTRA_CXX_FLAGS += -fno-enforce-eh-specs
136                        endif
137 karl            1.26   ifdef PEGASUS_OPTIMIZE_FOR_SIZE
138                          FLAGS += -Os
139                        else
140                          FLAGS += -O2
141                        endif
142 kumpf           1.7  endif
143                      
144 w.otsuka        1.41 FLAGS += $(CXX_MACHINE_OPTIONS)
145                      
146 dave.sudlik     1.44 ifdef PEGASUS_ENABLE_GCOV
147                        FLAGS += -ftest-coverage -fprofile-arcs
148                        SYS_LIBS += -lgcc -lgcov
149                        EXTRA_LIBRARIES += -lgcc -lgcov
150                      endif
151                      
152 kumpf           1.7  ifndef PEGASUS_USE_MU_DEPEND
153                      PEGASUS_HAS_MAKEDEPEND = yes
154                      endif
155                      
156                      # l10n
157                      ifdef PEGASUS_HAS_MESSAGES
158                        DEFINES += -DPEGASUS_HAS_MESSAGES
159                        ifdef ICU_ROOT
160 h.sterling      1.34         MSG_COMPILE = genrb
161                              MSG_FLAGS =
162                              MSG_SOURCE_EXT = .txt
163                              MSG_COMPILE_EXT = .res
164                              CNV_ROOT_CMD = cnv2rootbundle
165 kumpf           1.7  
166                      ##################################
167                      ##
168                      ## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root resource bundle,
169 w.white         1.18 ## default is to uppercase the root resource bundle##
170 kumpf           1.7  ##################################
171                      
172                      ifdef ICU_NO_UPPERCASE_ROOT
173                        CNV_ROOT_FLAGS = 
174                      else
175                        CNV_ROOT_FLAGS = -u
176                      endif
177                      
178                      ####################################
179                      ##
180                      ##   ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root resource bundle will be generated from
181                      ##   defaults to _en if not set.  if set, for any directory containing resource bundles,
182                      ##   there must exist a file name: package(the value of ICU_ROOT_BUNDLE_LANG).txt or the make messages target will fail
183                      ##
184                      ####################################
185                      
186                      ifdef ICU_ROOT_BUNDLE_LANG
187                        MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
188                      else
189                        MSG_ROOT_SOURCE = _en
190                      endif
191 kumpf           1.7  
192 ba.patil        1.24     SYS_INCLUDES += -I${ICU_ROOT}/source/common -I${ICU_ROOT}/source/i18n
193 kumpf           1.7      DEFINES += -DPEGASUS_HAS_ICU
194 h.sterling      1.31     EXTRA_LIBRARIES += -L$(ICU_INSTALL)/lib -licuuc -licui18n -licudata
195 kumpf           1.7    endif
196                      endif
197 konrad.r        1.15 
198                      ####################################
199                      ##
200                      ##   If PEGASUS_LSB is set, set the rest of the variables.
201                      ##
202                      ####################################
203                      
204                      ifdef PEGASUS_LSB
205 konrad.r        1.17     SYS_INCLUDES += -I/usr/include -I/usr/include/c++ -I/opt/lsbdev-base/include/c++ -I/opt/lsbdev-base/include/
206 konrad.r        1.15     FLAGS += -DPEGASUS_OS_LSB
207                      endif
208                      
209 mike            1.48 ##==============================================================================
210                      ##
211                      ## Set the default visibility symbol to hidden for shared libraries. This 
212                      ## feature is only available in GCC 4.0 and later.
213                      ##
214                      ##==============================================================================
215                      
216                      ifeq ($(shell expr $(GCC_VERSION) '>=' 4.0), 1)
217                          FLAGS += -fvisibility=hidden 
218                      endif
219                      
220 w.otsuka        1.47 ifndef PEGASUS_ARCH_LIB
221                          ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU)
222                              PEGASUS_ARCH_LIB = lib64
223                          else
224                              PEGASUS_ARCH_LIB = lib
225                          endif
226                      endif
227                      DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2