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

  1 martin 1.59 #//%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.60 #//
  3 martin 1.59 #// Licensed to The Open Group (TOG) under one or more contributor license
  4             #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             #// this work for additional information regarding copyright ownership.
  6             #// Each contributor licenses this file to you under the OpenPegasus Open
  7             #// Source License; you may not use this file except in compliance with the
  8             #// License.
  9 martin 1.60 #//
 10 martin 1.59 #// Permission is hereby granted, free of charge, to any person obtaining a
 11             #// copy of this software and associated documentation files (the "Software"),
 12             #// to deal in the Software without restriction, including without limitation
 13             #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             #// and/or sell copies of the Software, and to permit persons to whom the
 15             #// Software is furnished to do so, subject to the following conditions:
 16 martin 1.60 #//
 17 martin 1.59 #// The above copyright notice and this permission notice shall be included
 18             #// in all copies or substantial portions of the Software.
 19 martin 1.60 #//
 20 martin 1.59 #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.60 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.59 #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.60 #//
 28 martin 1.59 #//////////////////////////////////////////////////////////////////////////
 29 kumpf  1.7  # Configuration options for Pegasus on all architectures running Linux
 30             
 31             include $(ROOT)/mak/config-unix.mak
 32             
 33             PEGASUS_PLATFORM_LINUX_GENERIC_GNU = 1
 34             DEFINES += -DPEGASUS_PLATFORM_LINUX_GENERIC_GNU
 35             DEFINES += -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM)
 36             
 37 jim.wunderlich 1.38 #########################################################################
 38                     ##
 39                     ## Platform specific compile options controlled by environment variables
 40 kumpf          1.61 ## are set here.
 41 jim.wunderlich 1.38 ##
 42                     #########################################################################
 43                     
 44                     
 45                     # Enable OOP by default if preference not already set in the environment
 46                     #
 47 jim.wunderlich 1.39 ifndef PEGASUS_DEFAULT_ENABLE_OOP
 48                     PEGASUS_DEFAULT_ENABLE_OOP = true
 49 jim.wunderlich 1.38 endif
 50                     
 51                     
 52 konrad.r       1.27 # Enable CMPI by default.
 53                     #
 54 denise.eckstein 1.45 ifndef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER
 55 denise.eckstein 1.46 PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
 56 denise.eckstein 1.45 endif
 57 konrad.r        1.27 
 58 jim.wunderlich  1.38 #########################################################################
 59                      
 60 kumpf           1.7  OS = linux
 61                      
 62                      COMPILER = gnu
 63                      
 64                      PLATFORM_VERSION_SUPPORTED = yes
 65                      
 66 konrad.r        1.17 ifndef CXX
 67 kumpf           1.7  CXX = g++
 68 konrad.r        1.17 endif
 69 kumpf           1.7  
 70                      SH = sh
 71                      
 72 david.dillard   1.30 YACC = bison
 73 kumpf           1.7  
 74 jim.wunderlich  1.32 RM = rm -f
 75                      
 76                      DIFF = diff
 77                      
 78                      SORT = sort
 79                      
 80 kumpf           1.7  COPY = cp
 81                      
 82                      MOVE = mv
 83                      
 84 konrad.r        1.15 MKDIRHIER = mkdir -p
 85                      
 86 kumpf           1.7  PEGASUS_SUPPORTS_DYNLIB = yes
 87                      
 88                      MAJOR_VERSION_NUMBER = 1
 89                      
 90                      LIB_SUFFIX = .so.$(MAJOR_VERSION_NUMBER)
 91                      
 92 kumpf           1.11 DEFINES += -DPEGASUS_USE_SYSLOGS
 93                      
 94 mike            1.49 SYS_LIBS = -ldl -lpthread -lcrypt
 95 kumpf           1.7  
 96 mike            1.49 FLAGS += -W -Wall -Wno-unused  -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT
 97                      
 98                      ##==============================================================================
 99                      ##
100                      ## The DYNAMIC_FLAGS variable defines linker flags that only apply to shared
101                      ## libraries.
102                      ##
103                      ##==============================================================================
104                      DYNAMIC_FLAGS += -fPIC
105 kumpf           1.7  
106 kumpf           1.61 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
107 mike            1.43   FLAGS += -g
108 kumpf           1.7  else
109 mike            1.43   FLAGS += -s
110                        #
111                        # The -fno-enforce-eh-specs is not available in 2.9.5 and it probably
112                        # appeared in the 3.0 series of compilers.
113                        #
114                        ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1)
115                          EXTRA_CXX_FLAGS += -fno-enforce-eh-specs
116                        endif
117 karl            1.26   ifdef PEGASUS_OPTIMIZE_FOR_SIZE
118                          FLAGS += -Os
119                        else
120                          FLAGS += -O2
121                        endif
122 kumpf           1.7  endif
123                      
124 w.otsuka        1.41 FLAGS += $(CXX_MACHINE_OPTIONS)
125                      
126 dave.sudlik     1.44 ifdef PEGASUS_ENABLE_GCOV
127                        FLAGS += -ftest-coverage -fprofile-arcs
128                        SYS_LIBS += -lgcc -lgcov
129                        EXTRA_LIBRARIES += -lgcc -lgcov
130                      endif
131                      
132 kumpf           1.7  ifndef PEGASUS_USE_MU_DEPEND
133                      PEGASUS_HAS_MAKEDEPEND = yes
134                      endif
135                      
136 mike            1.48 ##==============================================================================
137                      ##
138 kumpf           1.61 ## Set the default visibility symbol to hidden for shared libraries. This
139 mike            1.48 ## feature is only available in GCC 4.0 and later.
140                      ##
141                      ##==============================================================================
142                      
143                      ifeq ($(shell expr $(GCC_VERSION) '>=' 4.0), 1)
144 kumpf           1.61     FLAGS += -fvisibility=hidden
145 mike            1.48 endif
146                      
147 w.otsuka        1.47 ifndef PEGASUS_ARCH_LIB
148                          ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_GNU)
149                              PEGASUS_ARCH_LIB = lib64
150                          else
151                              PEGASUS_ARCH_LIB = lib
152                          endif
153                      endif
154                      DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\"

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2