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