(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 mike            1.49 SYS_LIBS = -ldl -lpthread -lcrypt
 97 kumpf           1.7  
 98                      # PAM support
 99                      ifdef PEGASUS_PAM_AUTHENTICATION
100 denise.eckstein 1.53     SYS_LIBS += -lpam
101 kumpf           1.7  
102 denise.eckstein 1.53     ## The following flags need to be set or unset
103                          ## to compile-in the code required for PAM authentication
104                          ## and compile-out the code that uses the password file.
105 kumpf           1.7  
106 denise.eckstein 1.53     DEFINES += -DPEGASUS_PAM_AUTHENTICATION -DPEGASUS_NO_PASSWORDFILE
107 kumpf           1.7  endif
108                      
109 mike            1.49 FLAGS += -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT
110                      
111                      ##==============================================================================
112                      ##
113                      ## The DYNAMIC_FLAGS variable defines linker flags that only apply to shared
114                      ## libraries.
115                      ##
116                      ##==============================================================================
117                      DYNAMIC_FLAGS += -fPIC
118 kumpf           1.7  
119 aruran.ms       1.36 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS 
120 mike            1.43   FLAGS += -g
121 kumpf           1.7  else
122 mike            1.43   FLAGS += -s
123                        #
124                        # The -fno-enforce-eh-specs is not available in 2.9.5 and it probably
125                        # appeared in the 3.0 series of compilers.
126                        #
127                        ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1)
128                          EXTRA_CXX_FLAGS += -fno-enforce-eh-specs
129                        endif
130 karl            1.26   ifdef PEGASUS_OPTIMIZE_FOR_SIZE
131                          FLAGS += -Os
132                        else
133                          FLAGS += -O2
134                        endif
135 kumpf           1.7  endif
136                      
137 w.otsuka        1.41 FLAGS += $(CXX_MACHINE_OPTIONS)
138                      
139 dave.sudlik     1.44 ifdef PEGASUS_ENABLE_GCOV
140                        FLAGS += -ftest-coverage -fprofile-arcs
141                        SYS_LIBS += -lgcc -lgcov
142                        EXTRA_LIBRARIES += -lgcc -lgcov
143                      endif
144                      
145 kumpf           1.7  ifndef PEGASUS_USE_MU_DEPEND
146                      PEGASUS_HAS_MAKEDEPEND = yes
147                      endif
148                      
149 mike            1.48 ##==============================================================================
150                      ##
151                      ## Set the default visibility symbol to hidden for shared libraries. This 
152                      ## feature is only available in GCC 4.0 and later.
153                      ##
154                      ##==============================================================================
155                      
156                      ifeq ($(shell expr $(GCC_VERSION) '>=' 4.0), 1)
157                          FLAGS += -fvisibility=hidden 
158                      endif
159                      
160 w.otsuka        1.47 ifndef PEGASUS_ARCH_LIB
161                          ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU)
162                              PEGASUS_ARCH_LIB = lib64
163                          else
164                              PEGASUS_ARCH_LIB = lib
165                          endif
166                      endif
167                      DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2