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