1 mike 1.1 ################################################################################
2 ##
3 ## Get external environment variables. Note that all external environment
4 ## variables begin with "PEGASUS_".
5 ##
6 ################################################################################
7
|
8 konrad.r 1.55 ifndef ROOT
9 ROOT = $(subst \,/,$(PEGASUS_ROOT))
10 endif
11
|
12 denise.eckstein 1.61 ifdef PEGASUS_ENVVAR_FILE
13 include $(PEGASUS_ENVVAR_FILE)
14 else
15 include $(ROOT)/env_var.status
16 endif
|
17 konrad.r 1.55
|
18 mike 1.2 ifdef PEGASUS_HOME
19 HOME_DIR = $(subst \,/,$(PEGASUS_HOME))
|
20 mike 1.1 else
|
21 mike 1.2 ERROR = pegasus_home_undefined
22 pegasus_home_undefined:
|
23 mike 1.4 @ echo PEGASUS_HOME environment variable undefined
|
24 mike 1.2 @ exit 1
|
25 mike 1.1 endif
26
|
27 karl 1.18 ifdef PEGASUS_ROOT
28 ROOT = $(subst \,/,$(PEGASUS_ROOT))
29 else
30 ERROR = pegasus_root_undefined
31 pegasus_root_undefined:
32 @ echo PEGASUS_ROOT environment variable undefined
33 @ exit 1
34 endif
35
|
36 chuck 1.35 # l10n
37 ifdef ICU_ROOT
38 ICUROOT = $(subst \,/,$(ICU_ROOT))
39 endif
40
|
41 kumpf 1.21 ifdef PEGASUS_TMP
42 TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
43 else
44 TMP_DIR = .
45 endif
46
|
47 kumpf 1.26 ifdef PEGASUS_DISPLAYCONSUMER_DIR
48 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_DISPLAYCONSUMER_DIR))
49 else
|
50 kumpf 1.38 DISPLAYCONSUMER_DIR = $(subst \,/,$(PEGASUS_HOME))
|
51 kumpf 1.26 endif
52
|
53 mike 1.14 VALID_PLATFORMS = \
54 WIN32_IX86_MSVC \
55 LINUX_IX86_GNU \
|
56 david.eger 1.32 LINUX_PPC_GNU \
|
57 kumpf 1.19 LINUX_IA64_GNU \
|
58 david.eger 1.33 LINUX_ZSERIES_GNU \
|
59 mike 1.14 AIX_RS_IBMCXX \
60 HPUX_PARISC_ACC \
|
61 kumpf 1.22 HPUX_IA64_ACC \
|
62 mike 1.15 TRU64_ALPHA_DECCXX \
|
63 mike 1.16 SOLARIS_SPARC_GNU \
|
64 keith.petley 1.34 SOLARIS_SPARC_CC \
|
65 mike 1.16 ZOS_ZSERIES_IBM \
|
66 dudhe.girish 1.48 NSK_NONSTOP_NMCPLUS \
67 DARWIN_PPC_GNU
|
68 mike 1.8
69 ifndef PEGASUS_PLATFORM
70 ERROR = pegasus_platform_undefined
71 pegasus_platform_undefined:
72 @ echo PEGASUS_PLATFORM environment variable undefined. Please set to\
73 one of the following: $(VALID_PLATFORMS)
74 @ exit 1
75 endif
76
|
77 mike 1.1 ################################################################################
78
|
79 kumpf 1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
80 BIN_DIR = $(HOME_DIR)/bin
81 LIB_DIR = $(HOME_DIR)/lib
|
82 chuck 1.35
83 # l10n
84 # define the location for the compiled messages
85 MSG_ROOT = $(HOME_DIR)/msg
|
86 kumpf 1.22
87 # define the location for the repository
88 REPOSITORY_DIR = $(HOME_DIR)
89 REPOSITORY_ROOT = $(REPOSITORY_DIR)/repository
|
90 mike 1.1
|
91 kumpf 1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
92 # are used to control the version of the CIM Schema
93 # loaded into the Pegasus Internal, InterOp,
94 # root/cimv2 and various test namespaces.
95 #
96 # Update the following two environment variables to
97 # change the version.
98
|
99 kumpf 1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
100 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
101 # and ALLOW_EXPERIMENTAL.
102 #
103 # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
104 # files must be placed in the directory
105 # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
106 #
107 # The value of PEGASUS_CIM_SCHEMA must conform to the
108 # following syntax:
109 #
110 # CIM[Prelim]<CIM_SCHEMA_VER>
111 #
112 # The string "Prelim" should be included if the
113 # Schema contains "Experimental" class definitions.
114 #
115 # The value of <CIM_SCHEMA_VER> must be the value
116 # of the version string included by the DMTF as
117 # part of the mof file names (e.g, CIM_Core27.mof).
118 # Therefore, for example, the value of <CIM_SCHEMA_VER>
119 # for CIM27 Schema directories MUST be 27.
120 kumpf 1.37 #
121 # Examples of valid values of PEGASUS_CIM_SCHEMA
122 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
123 #
124 # Note the CIMPrelim271 would NOT be a valid value
125 # for PEGASUS_CIM_SCHEMA because the version string
126 # portion of the mof files (e.g., CIM_Core27.mof) in
127 # the CIMPrelimin271 directory is 27 not 271.
|
128 kumpf 1.23
|
129 gerarda 1.29 # ***** CIM_SCHEMA_DIR INFO ****
130 # If CIM_SCHEMA_DIR changes to use a preliminary schema which
131 # has experimentals make sure and change the path below to appopriate
132 # directory path. Example: CIMPrelim271 is preliminary and has
133 # experimental classes. Since experimental classes exist the -aE
134 # option of the mof compiler needs to be set.
135 # *****
|
136 kumpf 1.37
137 ifdef PEGASUS_CIM_SCHEMA
138 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
|
139 dj.gorey 1.59 ifeq ($(findstring $(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA))),1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 271 28),)
|
140 dj.gorey 1.58 CIM_SCHEMA_VER=
141 else
142 CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
143 endif
|
144 kumpf 1.37 else
|
145 karl 1.51 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM28
146 CIM_SCHEMA_VER=28
|
147 kumpf 1.37 endif
148
149 ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
150 ALLOW_EXPERIMENTAL = -aE
|
151 gerarda 1.29 else
|
152 kumpf 1.37 ALLOW_EXPERIMENTAL =
|
153 gerarda 1.29 endif
154
|
155 bob 1.5 LEX = flex
156
|
157 mike 1.8 ################################################################################
158 ##
|
159 konrad.r 1.52 ## Default installation paths
160 ##
161 ################################################################################
162
163 ## Default values to install files when 'make install' is invoked.
164
165 ifndef PREFIX
166 PREFIX=$(HOME_DIR)/install
167 endif
168
169 ifndef SYSCONF_PREFIX
170 SYSCONF_PREFIX=$(PREFIX)/etc
171 endif
172
173 ifndef LOCAL_STATE_PREFIX
|
174 konrad.r 1.53 LOCAL_STATE_PREFIX=$(PREFIX)/var/
|
175 konrad.r 1.52 endif
176
177 ifndef DEST_LIB_DIR
178 DEST_LIB_DIR = $(PREFIX)/lib
179 endif
180
181 ifndef DEST_BIN_DIR
182 DEST_BIN_DIR = $(PREFIX)/bin
183 endif
184
185 ifndef DEST_SBIN_DIR
186 DEST_SBIN_DIR = $(PREFIX)/sbin
187 endif
188
189 ifndef DEST_ETC_DIR
|
190 konrad.r 1.54 DEST_ETC_DIR = $(SYSCONF_PREFIX)/pegasus
|
191 konrad.r 1.52 endif
192
193 ifndef DEST_MAN_DIR
194 DEST_MAN_DIR = $(PREFIX)/man
195 endif
196
197 ifndef DEST_VAR_DIR
198 DEST_VAR_DIR = $(LOCAL_STATE_PREFIX)
199 endif
200
201 ################################################################################
202 ##
|
203 mike 1.8 ## Attempt to include a platform configuration file:
204 ##
205 ################################################################################
206
|
207 mike 1.9 ifeq ($(PEGASUS_PLATFORM),WIN32_IX86_MSVC)
208 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
209 mike 1.8 FOUND = true
210 endif
211
|
212 mike 1.9 ifeq ($(PEGASUS_PLATFORM),LINUX_IX86_GNU)
|
213 david.eger 1.32 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
214 FOUND = true
215 endif
216
217 ifeq ($(PEGASUS_PLATFORM),LINUX_PPC_GNU)
|
218 kumpf 1.19 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
219 FOUND = true
220 endif
221
222 ifeq ($(PEGASUS_PLATFORM),LINUX_IA64_GNU)
|
223 david.eger 1.33 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
224 FOUND = true
225 endif
226
227 ifeq ($(PEGASUS_PLATFORM),LINUX_ZSERIES_GNU)
|
228 mike 1.12 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
229 FOUND = true
230 endif
231
232 ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
|
233 mike 1.13 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
234 FOUND = true
235 endif
236
237 ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC)
|
238 kumpf 1.22 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
239 FOUND = true
240 endif
241
242 ifeq ($(PEGASUS_PLATFORM),HPUX_IA64_ACC)
|
243 mike 1.14 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
244 FOUND = true
245 endif
246
247 ifeq ($(PEGASUS_PLATFORM),TRU64_ALPHA_DECCXX)
|
248 mike 1.15 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
249 FOUND = true
250 endif
251
252 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_GNU)
|
253 keith.petley 1.34 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
254 FOUND = true
255 endif
256
257 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC)
|
258 mike 1.9 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
259 mike 1.8 FOUND = true
|
260 mike 1.16 endif
261
262 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
263 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
264 FOUND = true
265 endif
266
267 ifeq ($(PEGASUS_PLATFORM),NSK_NONSTOP_NMCPLUS)
|
268 dudhe.girish 1.48 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
269 FOUND = true
270 endif
271
272 ifeq ($(PEGASUS_PLATFORM),DARWIN_PPC_GNU)
|
273 mike 1.16 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
274 FOUND = true
|
275 mike 1.8 endif
276
277 ifneq ($(FOUND),true)
278 ERROR = pegasus_unknown_platform
279 pegasus_unknown_platform:
280 @ echo PEGASUS_PLATFORM environment variable must be set to one of\
281 the following: $(VALID_PLATFORMS)
282 @ exit 1
283 endif
|
284 karl 1.17
|
285 karl 1.36 ################################################################################
286 ##
|
287 konrad.r 1.52 ## Default installation macros
288 ##
289 ################################################################################
290
291 ## INSTALL_LIB creates the destination directory if missing,
292 ## copies the library and generates the symbolic link.
293
294 ifndef INSTALL_LIBRARY
295 ## These macros are also defined in the Platform_<*>.mak files.
296 INSTALL_LIBRARY = $(MKDIRHIER) $(DEST_LIB_DIR); $(COPY) $(FULL_LIB) $(DEST_LIB_DIR)
297 endif
298
299 ## INSTALL_PROGRAM creates the destination directory if missing and
300 ## copies the file.
301 ifndef INSTALL_PROGRAM
302 INSTALL_PROGRAM = $(MKDIRHIER) $(DEST_BIN_DIR); $(COPY) $(FULL_PROGRAM) $(DEST_BIN_DIR)
303 endif
304 ## INSTALL_PROGRAM creates the destination directory if missing and
305 ## copies the file.
306 ifndef INSTALL_SBIN_PROGRAM
307 INSTALL_SBIN_PROGRAM = $(MKDIRHIER) $(DEST_SBIN_DIR); $(COPY) $(FULL_PROGRAM) $(DEST_SBIN_DIR)
308 konrad.r 1.52 endif
309 ## The rest of the macros for DEST_MAN_DIR, DEST_VAR_DIR, etc. are not provided in this file.
310
311 ################################################################################
312 ##
|
313 karl 1.36 ## Set up any platform independent compile conditionals by adding them to
314 ## precreated FLAGS parameter.
315 ## Assumes that the basic flags have been setup in FLAGS.
316 ## Assumes that compile time flags are controlled with -D CLI option.
317 ##
318 ################################################################################
|
319 karl 1.17
|
320 karl 1.36 # Setup the conditional compile for client displays.
321 #
322 ifdef PEGASUS_CLIENT_TRACE_ENABLE
323 DEFINES+= -DPEGASUS_CLIENT_TRACE_ENABLE
324 endif
325
|
326 mday 1.40 # do not compile trace code. sometimes it causes problems debugging
327 ifdef PEGASUS_REMOVE_TRACE
328 DEFINES+= -DPEGASUS_REMOVE_TRACE
329 endif
330
|
331 karl 1.43 # PEP 123 use monitor2 (the default) or not
|
332 dj.gorey 1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_SERVER
333 DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_SERVER
334 #endif
|
335 mday 1.40
|
336 dj.gorey 1.45 #BUG 1170 Monitor2 Client Workaround
|
337 dj.gorey 1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_CLIENT
|
338 dj.gorey 1.45 DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_CLIENT
|
339 dj.gorey 1.46 #endif
|
340 dj.gorey 1.45
|
341 chuck 1.47 # PEP 161
342 # Control whether utf-8 filenames are supported by the repository
343 ifdef PEGASUS_SUPPORT_UTF8_FILENAME
344 DEFINES+= -DPEGASUS_SUPPORT_UTF8_FILENAME
345
346 # Control whether utf-8 filenames in the repository are escaped
347 ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
348 DEFINES+= -DPEGASUS_REPOSITORY_ESCAPE_UTF8
349 endif
350 endif
351
|
352 kumpf 1.49 #
353 # PEP 142
354 # The following flag need to be set to enable
355 # user group authorization functionality.
356 #
357 ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
358 DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
359 endif
360
361
|
362 karl 1.39 # setup function to enable SLP functions in the Pegasus standard compile
363 # Set the environment varaible PEGASUS_ENABLE_SLP to enable SLP code.
364 ifdef PEGASUS_ENABLE_SLP
365 DEFINES+= -DPEGASUS_ENABLE_SLP
366 endif
|
367 karl 1.36
|
368 karl 1.60 # set PEGASUS_DEBUG into the DEFINES if it exists.
369 # Note that this flag is the general separator between
370 # debug compiles and non-debug compiles and controls both
371 # the use of any debug options on compilers and linkers
372 # and general debug support that we want to be turned on in
373 # debug mode.
374 ifdef PEGASUS_DEBUG
375 DEFINES+= -DPEGASUS_DEBUG
376 endif
377
|
378 chuck 1.42 # compile in the experimental APIs
379 DEFINES+= -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
380
|
381 w.white 1.57 # Set compile flag to control compilation of CIMOM statistics
382 ifdef PEGASUS_HAS_PERFINST
383 FLAGS += -DPEGASUS_HAS_PERFINST
384 endif
|
385 kumpf 1.56
386 ############################################################
387 #
388 # Set any vendor-specific compile flags
389 #
390 ############################################################
391
392 ifdef PEGASUS_VENDOR_HP
393 DEFINES+= -DPEGASUS_VENDOR_HP
394 endif
395
|
396 karl 1.36
|
397 karl 1.17 ############################################################
398 #
399 # Set up other Make Variables that depend on platform config files
400 #
401 ############################################################
402
403 # This is temporary until we end up with a better place to
404 # put this variable
405 # Makefiles can do directory remove with
406 # $(RMREPOSITORY) repositoryname
407 #
408 RMREPOSITORY = $(RMDIRHIER)
409
|
410 w.otsuka 1.63 ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS
411 FLAGS += -DPEGASUS_USE_RELEASE_CONFIG_OPTIONS
|
412 w.otsuka 1.62 endif
413
414 ifdef PEGASUS_USE_RELEASE_DIRS
415 FLAGS += -DPEGASUS_USE_RELEASE_DIRS
416 DEFINES += -DPEGASUS_DEST_LIB_DIR=\"$(PEGASUS_DEST_LIB_DIR)\"
417 endif
|
418 mday 1.27
|
419 mday 1.28
|
420 mday 1.27
|