1 mike 1.1 ################################################################################
2 ##
3 ## Get external environment variables. Note that all external environment
4 ## variables begin with "PEGASUS_".
5 ##
6 ################################################################################
7
|
8 mike 1.2 ifdef PEGASUS_HOME
9 HOME_DIR = $(subst \,/,$(PEGASUS_HOME))
|
10 mike 1.1 else
|
11 mike 1.2 ERROR = pegasus_home_undefined
12 pegasus_home_undefined:
|
13 mike 1.4 @ echo PEGASUS_HOME environment variable undefined
|
14 mike 1.2 @ exit 1
|
15 mike 1.1 endif
16
|
17 karl 1.18 ifdef PEGASUS_ROOT
18 ROOT = $(subst \,/,$(PEGASUS_ROOT))
19 else
20 ERROR = pegasus_root_undefined
21 pegasus_root_undefined:
22 @ echo PEGASUS_ROOT environment variable undefined
23 @ exit 1
24 endif
25
|
26 chuck 1.35 # l10n
27 ifdef ICU_ROOT
28 ICUROOT = $(subst \,/,$(ICU_ROOT))
29 endif
30
|
31 kumpf 1.21 ifdef PEGASUS_TMP
32 TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
33 else
34 TMP_DIR = .
35 endif
36
|
37 kumpf 1.26 ifdef PEGASUS_DISPLAYCONSUMER_DIR
38 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR))
39 else
|
40 kumpf 1.38 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME))
|
41 kumpf 1.26 endif
42
|
43 mike 1.14 VALID_PLATFORMS = \
44 WIN32_IX86_MSVC \
45 LINUX_IX86_GNU \
|
46 david.eger 1.32 LINUX_PPC_GNU \
|
47 kumpf 1.19 LINUX_IA64_GNU \
|
48 david.eger 1.33 LINUX_ZSERIES_GNU \
|
49 mike 1.14 AIX_RS_IBMCXX \
50 HPUX_PARISC_ACC \
|
51 kumpf 1.22 HPUX_IA64_ACC \
|
52 mike 1.15 TRU64_ALPHA_DECCXX \
|
53 mike 1.16 SOLARIS_SPARC_GNU \
|
54 keith.petley 1.34 SOLARIS_SPARC_CC \
|
55 mike 1.16 ZOS_ZSERIES_IBM \
|
56 dudhe.girish 1.48 NSK_NONSTOP_NMCPLUS \
57 DARWIN_PPC_GNU
|
58 mike 1.8
59 ifndef PEGASUS_PLATFORM
60 ERROR = pegasus_platform_undefined
61 pegasus_platform_undefined:
62 @ echo PEGASUS_PLATFORM environment variable undefined. Please set to\
63 one of the following: $(VALID_PLATFORMS)
64 @ exit 1
65 endif
66
|
67 mike 1.1 ################################################################################
68
|
69 kumpf 1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
70 BIN_DIR = $(HOME_DIR)/bin
71 LIB_DIR = $(HOME_DIR)/lib
|
72 chuck 1.35
73 # l10n
74 # define the location for the compiled messages
75 MSG_ROOT = $(HOME_DIR)/msg
|
76 kumpf 1.22
77 # define the location for the repository
78 REPOSITORY_DIR = $(HOME_DIR)
79 REPOSITORY_ROOT = $(REPOSITORY_DIR)/repository
|
80 mike 1.1
|
81 kumpf 1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
82 # are used to control the version of the CIM Schema
83 # loaded into the Pegasus Internal, InterOp,
84 # root/cimv2 and various test namespaces.
85 #
86 # Update the following two environment variables to
87 # change the version.
88
|
89 kumpf 1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
90 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
91 # and ALLOW_EXPERIMENTAL.
92 #
93 # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
94 # files must be placed in the directory
95 # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
96 #
97 # The value of PEGASUS_CIM_SCHEMA must conform to the
98 # following syntax:
99 #
100 # CIM[Prelim]<CIM_SCHEMA_VER>
101 #
102 # The string "Prelim" should be included if the
103 # Schema contains "Experimental" class definitions.
104 #
105 # The value of <CIM_SCHEMA_VER> must be the value
106 # of the version string included by the DMTF as
107 # part of the mof file names (e.g, CIM_Core27.mof).
108 # Therefore, for example, the value of <CIM_SCHEMA_VER>
109 # for CIM27 Schema directories MUST be 27.
110 kumpf 1.37 #
111 # Examples of valid values of PEGASUS_CIM_SCHEMA
112 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
113 #
114 # Note the CIMPrelim271 would NOT be a valid value
115 # for PEGASUS_CIM_SCHEMA because the version string
116 # portion of the mof files (e.g., CIM_Core27.mof) in
117 # the CIMPrelimin271 directory is 27 not 271.
|
118 kumpf 1.23
|
119 gerarda 1.29 # ***** CIM_SCHEMA_DIR INFO ****
120 # If CIM_SCHEMA_DIR changes to use a preliminary schema which
121 # has experimentals make sure and change the path below to appopriate
122 # directory path. Example: CIMPrelim271 is preliminary and has
123 # experimental classes. Since experimental classes exist the -aE
124 # option of the mof compiler needs to be set.
125 # *****
|
126 kumpf 1.37
127 ifdef PEGASUS_CIM_SCHEMA
128 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
129 CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
130 else
|
131 karl 1.51 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM28
132 CIM_SCHEMA_VER=28
|
133 kumpf 1.37 endif
134
135 ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
136 ALLOW_EXPERIMENTAL = -aE
|
137 gerarda 1.29 else
|
138 kumpf 1.37 ALLOW_EXPERIMENTAL =
|
139 gerarda 1.29 endif
140
|
141 bob 1.5 LEX = flex
142
|
143 mike 1.8 ################################################################################
144 ##
145 ## Attempt to include a platform configuration file:
146 ##
147 ################################################################################
148
|
149 mike 1.9 ifeq ($(PEGASUS_PLATFORM),WIN32_IX86_MSVC)
150 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
151 mike 1.8 FOUND = true
152 endif
153
|
154 mike 1.9 ifeq ($(PEGASUS_PLATFORM),LINUX_IX86_GNU)
|
155 david.eger 1.32 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
156 FOUND = true
157 endif
158
159 ifeq ($(PEGASUS_PLATFORM),LINUX_PPC_GNU)
|
160 kumpf 1.19 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
161 FOUND = true
162 endif
163
164 ifeq ($(PEGASUS_PLATFORM),LINUX_IA64_GNU)
|
165 david.eger 1.33 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
166 FOUND = true
167 endif
168
169 ifeq ($(PEGASUS_PLATFORM),LINUX_ZSERIES_GNU)
|
170 mike 1.12 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
171 FOUND = true
172 endif
173
174 ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
|
175 mike 1.13 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
176 FOUND = true
177 endif
178
179 ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC)
|
180 kumpf 1.22 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
181 FOUND = true
182 endif
183
184 ifeq ($(PEGASUS_PLATFORM),HPUX_IA64_ACC)
|
185 mike 1.14 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
186 FOUND = true
187 endif
188
189 ifeq ($(PEGASUS_PLATFORM),TRU64_ALPHA_DECCXX)
|
190 mike 1.15 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
191 FOUND = true
192 endif
193
194 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_GNU)
|
195 keith.petley 1.34 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
196 FOUND = true
197 endif
198
199 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC)
|
200 mike 1.9 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
201 mike 1.8 FOUND = true
|
202 mike 1.16 endif
203
204 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
205 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
206 FOUND = true
207 endif
208
209 ifeq ($(PEGASUS_PLATFORM),NSK_NONSTOP_NMCPLUS)
|
210 dudhe.girish 1.48 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
211 FOUND = true
212 endif
213
214 ifeq ($(PEGASUS_PLATFORM),DARWIN_PPC_GNU)
|
215 mike 1.16 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
216 FOUND = true
|
217 mike 1.8 endif
218
219 ifneq ($(FOUND),true)
220 ERROR = pegasus_unknown_platform
221 pegasus_unknown_platform:
222 @ echo PEGASUS_PLATFORM environment variable must be set to one of\
223 the following: $(VALID_PLATFORMS)
224 @ exit 1
225 endif
|
226 karl 1.17
|
227 karl 1.36 ################################################################################
228 ##
229 ## Set up any platform independent compile conditionals by adding them to
230 ## precreated FLAGS parameter.
231 ## Assumes that the basic flags have been setup in FLAGS.
232 ## Assumes that compile time flags are controlled with -D CLI option.
233 ##
234 ################################################################################
|
235 karl 1.17
|
236 karl 1.36 # Setup the conditional compile for client displays.
237 #
238 ifdef PEGASUS_CLIENT_TRACE_ENABLE
239 DEFINES+= -DPEGASUS_CLIENT_TRACE_ENABLE
240 endif
241
|
242 mday 1.40 # do not compile trace code. sometimes it causes problems debugging
243 ifdef PEGASUS_REMOVE_TRACE
244 DEFINES+= -DPEGASUS_REMOVE_TRACE
245 endif
246
|
247 karl 1.43 # PEP 123 use monitor2 (the default) or not
|
248 dj.gorey 1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_SERVER
249 DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_SERVER
250 #endif
|
251 mday 1.40
|
252 dj.gorey 1.45 #BUG 1170 Monitor2 Client Workaround
|
253 dj.gorey 1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_CLIENT
|
254 dj.gorey 1.45 DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_CLIENT
|
255 dj.gorey 1.46 #endif
|
256 dj.gorey 1.45
|
257 chuck 1.47 # PEP 161
258 # Control whether utf-8 filenames are supported by the repository
259 ifdef PEGASUS_SUPPORT_UTF8_FILENAME
260 DEFINES+= -DPEGASUS_SUPPORT_UTF8_FILENAME
261
262 # Control whether utf-8 filenames in the repository are escaped
263 ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
264 DEFINES+= -DPEGASUS_REPOSITORY_ESCAPE_UTF8
265 endif
266 endif
267
|
268 kumpf 1.49 #
269 # PEP 142
270 # The following flag need to be set to enable
271 # user group authorization functionality.
272 #
273 ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
274 DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
275 endif
276
277
|
278 karl 1.39 # setup function to enable SLP functions in the Pegasus standard compile
279 # Set the environment varaible PEGASUS_ENABLE_SLP to enable SLP code.
280 ifdef PEGASUS_ENABLE_SLP
281 DEFINES+= -DPEGASUS_ENABLE_SLP
282 endif
|
283 karl 1.36
|
284 chuck 1.42 # compile in the experimental APIs
285 DEFINES+= -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
286
|
287 karl 1.36
|
288 karl 1.17 ############################################################
289 #
290 # Set up other Make Variables that depend on platform config files
291 #
292 ############################################################
293
294 # This is temporary until we end up with a better place to
295 # put this variable
296 # Makefiles can do directory remove with
297 # $(RMREPOSITORY) repositoryname
298 #
299 RMREPOSITORY = $(RMDIRHIER)
300
|
301 mday 1.27
|
302 mday 1.28
|
303 mday 1.27
|