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 konrad.r 1.52 ## Default installation paths
146 ##
147 ################################################################################
148
149 ## Default values to install files when 'make install' is invoked.
150
151 ifndef PREFIX
152 PREFIX=$(HOME_DIR)/install
153 endif
154
155 ifndef SYSCONF_PREFIX
156 SYSCONF_PREFIX=$(PREFIX)/etc
157 endif
158
159 ifndef LOCAL_STATE_PREFIX
|
160 konrad.r 1.53 LOCAL_STATE_PREFIX=$(PREFIX)/var/
|
161 konrad.r 1.52 endif
162
163 ifndef DEST_LIB_DIR
164 DEST_LIB_DIR = $(PREFIX)/lib
165 endif
166
167 ifndef DEST_BIN_DIR
168 DEST_BIN_DIR = $(PREFIX)/bin
169 endif
170
171 ifndef DEST_SBIN_DIR
172 DEST_SBIN_DIR = $(PREFIX)/sbin
173 endif
174
175 ifndef DEST_ETC_DIR
|
176 konrad.r 1.54 DEST_ETC_DIR = $(SYSCONF_PREFIX)/pegasus
|
177 konrad.r 1.52 endif
178
179 ifndef DEST_MAN_DIR
180 DEST_MAN_DIR = $(PREFIX)/man
181 endif
182
183 ifndef DEST_VAR_DIR
184 DEST_VAR_DIR = $(LOCAL_STATE_PREFIX)
185 endif
186
187 ################################################################################
188 ##
|
189 mike 1.8 ## Attempt to include a platform configuration file:
190 ##
191 ################################################################################
192
|
193 mike 1.9 ifeq ($(PEGASUS_PLATFORM),WIN32_IX86_MSVC)
194 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
195 mike 1.8 FOUND = true
196 endif
197
|
198 mike 1.9 ifeq ($(PEGASUS_PLATFORM),LINUX_IX86_GNU)
|
199 david.eger 1.32 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
200 FOUND = true
201 endif
202
203 ifeq ($(PEGASUS_PLATFORM),LINUX_PPC_GNU)
|
204 kumpf 1.19 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
205 FOUND = true
206 endif
207
208 ifeq ($(PEGASUS_PLATFORM),LINUX_IA64_GNU)
|
209 david.eger 1.33 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
210 FOUND = true
211 endif
212
213 ifeq ($(PEGASUS_PLATFORM),LINUX_ZSERIES_GNU)
|
214 mike 1.12 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
215 FOUND = true
216 endif
217
218 ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
|
219 mike 1.13 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
220 FOUND = true
221 endif
222
223 ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC)
|
224 kumpf 1.22 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
225 FOUND = true
226 endif
227
228 ifeq ($(PEGASUS_PLATFORM),HPUX_IA64_ACC)
|
229 mike 1.14 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
230 FOUND = true
231 endif
232
233 ifeq ($(PEGASUS_PLATFORM),TRU64_ALPHA_DECCXX)
|
234 mike 1.15 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
235 FOUND = true
236 endif
237
238 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_GNU)
|
239 keith.petley 1.34 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
240 FOUND = true
241 endif
242
243 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC)
|
244 mike 1.9 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
245 mike 1.8 FOUND = true
|
246 mike 1.16 endif
247
248 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
249 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
250 FOUND = true
251 endif
252
253 ifeq ($(PEGASUS_PLATFORM),NSK_NONSTOP_NMCPLUS)
|
254 dudhe.girish 1.48 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
255 FOUND = true
256 endif
257
258 ifeq ($(PEGASUS_PLATFORM),DARWIN_PPC_GNU)
|
259 mike 1.16 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
260 FOUND = true
|
261 mike 1.8 endif
262
263 ifneq ($(FOUND),true)
264 ERROR = pegasus_unknown_platform
265 pegasus_unknown_platform:
266 @ echo PEGASUS_PLATFORM environment variable must be set to one of\
267 the following: $(VALID_PLATFORMS)
268 @ exit 1
269 endif
|
270 karl 1.17
|
271 karl 1.36 ################################################################################
272 ##
|
273 konrad.r 1.52 ## Default installation macros
274 ##
275 ################################################################################
276
277 ## INSTALL_LIB creates the destination directory if missing,
278 ## copies the library and generates the symbolic link.
279
280 ifndef INSTALL_LIBRARY
281 ## These macros are also defined in the Platform_<*>.mak files.
282 INSTALL_LIBRARY = $(MKDIRHIER) $(DEST_LIB_DIR); $(COPY) $(FULL_LIB) $(DEST_LIB_DIR)
283 endif
284
285 ## INSTALL_PROGRAM creates the destination directory if missing and
286 ## copies the file.
287 ifndef INSTALL_PROGRAM
288 INSTALL_PROGRAM = $(MKDIRHIER) $(DEST_BIN_DIR); $(COPY) $(FULL_PROGRAM) $(DEST_BIN_DIR)
289 endif
290 ## INSTALL_PROGRAM creates the destination directory if missing and
291 ## copies the file.
292 ifndef INSTALL_SBIN_PROGRAM
293 INSTALL_SBIN_PROGRAM = $(MKDIRHIER) $(DEST_SBIN_DIR); $(COPY) $(FULL_PROGRAM) $(DEST_SBIN_DIR)
294 konrad.r 1.52 endif
295 ## The rest of the macros for DEST_MAN_DIR, DEST_VAR_DIR, etc. are not provided in this file.
296
297 ################################################################################
298 ##
|
299 karl 1.36 ## Set up any platform independent compile conditionals by adding them to
300 ## precreated FLAGS parameter.
301 ## Assumes that the basic flags have been setup in FLAGS.
302 ## Assumes that compile time flags are controlled with -D CLI option.
303 ##
304 ################################################################################
|
305 karl 1.17
|
306 karl 1.36 # Setup the conditional compile for client displays.
307 #
308 ifdef PEGASUS_CLIENT_TRACE_ENABLE
309 DEFINES+= -DPEGASUS_CLIENT_TRACE_ENABLE
310 endif
311
|
312 mday 1.40 # do not compile trace code. sometimes it causes problems debugging
313 ifdef PEGASUS_REMOVE_TRACE
314 DEFINES+= -DPEGASUS_REMOVE_TRACE
315 endif
316
|
317 karl 1.43 # PEP 123 use monitor2 (the default) or not
|
318 dj.gorey 1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_SERVER
319 DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_SERVER
320 #endif
|
321 mday 1.40
|
322 dj.gorey 1.45 #BUG 1170 Monitor2 Client Workaround
|
323 dj.gorey 1.46 #ifdef PEGASUS_USE_23HTTPMONITOR_CLIENT
|
324 dj.gorey 1.45 DEFINES+= -DPEGASUS_USE_23HTTPMONITOR_CLIENT
|
325 dj.gorey 1.46 #endif
|
326 dj.gorey 1.45
|
327 chuck 1.47 # PEP 161
328 # Control whether utf-8 filenames are supported by the repository
329 ifdef PEGASUS_SUPPORT_UTF8_FILENAME
330 DEFINES+= -DPEGASUS_SUPPORT_UTF8_FILENAME
331
332 # Control whether utf-8 filenames in the repository are escaped
333 ifdef PEGASUS_REPOSITORY_ESCAPE_UTF8
334 DEFINES+= -DPEGASUS_REPOSITORY_ESCAPE_UTF8
335 endif
336 endif
337
|
338 kumpf 1.49 #
339 # PEP 142
340 # The following flag need to be set to enable
341 # user group authorization functionality.
342 #
343 ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION
344 DEFINES += -DPEGASUS_ENABLE_USERGROUP_AUTHORIZATION
345 endif
346
347
|
348 karl 1.39 # setup function to enable SLP functions in the Pegasus standard compile
349 # Set the environment varaible PEGASUS_ENABLE_SLP to enable SLP code.
350 ifdef PEGASUS_ENABLE_SLP
351 DEFINES+= -DPEGASUS_ENABLE_SLP
352 endif
|
353 karl 1.36
|
354 chuck 1.42 # compile in the experimental APIs
355 DEFINES+= -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
356
|
357 karl 1.36
|
358 karl 1.17 ############################################################
359 #
360 # Set up other Make Variables that depend on platform config files
361 #
362 ############################################################
363
364 # This is temporary until we end up with a better place to
365 # put this variable
366 # Makefiles can do directory remove with
367 # $(RMREPOSITORY) repositoryname
368 #
369 RMREPOSITORY = $(RMDIRHIER)
370
|
371 mday 1.27
|
372 mday 1.28
|
373 mday 1.27
|