(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 denise.eckstein 1.53     SYS_LIBS += -lpam
103 kumpf           1.7  
104 denise.eckstein 1.53     ## The following flags need to be set or unset
105                          ## to compile-in the code required for PAM authentication
106                          ## and compile-out the code that uses the password file.
107 kumpf           1.7  
108 denise.eckstein 1.53     DEFINES += -DPEGASUS_PAM_AUTHENTICATION -DPEGASUS_NO_PASSWORDFILE
109 kumpf           1.7  endif
110                      
111 mike            1.49 FLAGS += -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT
112                      
113                      ##==============================================================================
114                      ##
115                      ## The DYNAMIC_FLAGS variable defines linker flags that only apply to shared
116                      ## libraries.
117                      ##
118                      ##==============================================================================
119                      DYNAMIC_FLAGS += -fPIC
120 kumpf           1.7  
121 aruran.ms       1.36 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS 
122 mike            1.43   FLAGS += -g
123 kumpf           1.7  else
124 mike            1.43   FLAGS += -s
125                        #
126                        # The -fno-enforce-eh-specs is not available in 2.9.5 and it probably
127                        # appeared in the 3.0 series of compilers.
128                        #
129                        ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1)
130                          EXTRA_CXX_FLAGS += -fno-enforce-eh-specs
131                        endif
132 karl            1.26   ifdef PEGASUS_OPTIMIZE_FOR_SIZE
133                          FLAGS += -Os
134                        else
135                          FLAGS += -O2
136                        endif
137 kumpf           1.7  endif
138                      
139 w.otsuka        1.41 FLAGS += $(CXX_MACHINE_OPTIONS)
140                      
141 dave.sudlik     1.44 ifdef PEGASUS_ENABLE_GCOV
142                        FLAGS += -ftest-coverage -fprofile-arcs
143                        SYS_LIBS += -lgcc -lgcov
144                        EXTRA_LIBRARIES += -lgcc -lgcov
145                      endif
146                      
147 kumpf           1.7  ifndef PEGASUS_USE_MU_DEPEND
148                      PEGASUS_HAS_MAKEDEPEND = yes
149                      endif
150                      
151                      # l10n
152                      ifdef PEGASUS_HAS_MESSAGES
153                        DEFINES += -DPEGASUS_HAS_MESSAGES
154                        ifdef ICU_ROOT
155 h.sterling      1.34         MSG_COMPILE = genrb
156                              MSG_FLAGS =
157                              MSG_SOURCE_EXT = .txt
158                              MSG_COMPILE_EXT = .res
159                              CNV_ROOT_CMD = cnv2rootbundle
160 kumpf           1.7  
161                      ##################################
162                      ##
163                      ## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root resource bundle,
164 w.white         1.18 ## default is to uppercase the root resource bundle##
165 kumpf           1.7  ##################################
166                      
167                      ifdef ICU_NO_UPPERCASE_ROOT
168                        CNV_ROOT_FLAGS = 
169                      else
170                        CNV_ROOT_FLAGS = -u
171                      endif
172                      
173                      ####################################
174                      ##
175                      ##   ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root resource bundle will be generated from
176                      ##   defaults to _en if not set.  if set, for any directory containing resource bundles,
177                      ##   there must exist a file name: package(the value of ICU_ROOT_BUNDLE_LANG).txt or the make messages target will fail
178                      ##
179                      ####################################
180                      
181                      ifdef ICU_ROOT_BUNDLE_LANG
182                        MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
183                      else
184                        MSG_ROOT_SOURCE = _en
185                      endif
186 kumpf           1.7  
187 ba.patil        1.24     SYS_INCLUDES += -I${ICU_ROOT}/source/common -I${ICU_ROOT}/source/i18n
188 kumpf           1.7      DEFINES += -DPEGASUS_HAS_ICU
189 h.sterling      1.31     EXTRA_LIBRARIES += -L$(ICU_INSTALL)/lib -licuuc -licui18n -licudata
190 kumpf           1.7    endif
191                      endif
192 konrad.r        1.15 
193 mike            1.48 ##==============================================================================
194                      ##
195                      ## Set the default visibility symbol to hidden for shared libraries. This 
196                      ## feature is only available in GCC 4.0 and later.
197                      ##
198                      ##==============================================================================
199                      
200                      ifeq ($(shell expr $(GCC_VERSION) '>=' 4.0), 1)
201                          FLAGS += -fvisibility=hidden 
202                      endif
203                      
204 w.otsuka        1.47 ifndef PEGASUS_ARCH_LIB
205                          ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU)
206                              PEGASUS_ARCH_LIB = lib64
207                          else
208                              PEGASUS_ARCH_LIB = lib
209                          endif
210                      endif
211                      DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2