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 NSK_NONSTOP_NMCPLUS
|
57 mike 1.8
58 ifndef PEGASUS_PLATFORM
59 ERROR = pegasus_platform_undefined
60 pegasus_platform_undefined:
61 @ echo PEGASUS_PLATFORM environment variable undefined. Please set to\
62 one of the following: $(VALID_PLATFORMS)
63 @ exit 1
64 endif
65
|
66 mike 1.1 ################################################################################
67
|
68 kumpf 1.22 OBJ_DIR = $(HOME_DIR)/obj/$(DIR)
69 BIN_DIR = $(HOME_DIR)/bin
70 LIB_DIR = $(HOME_DIR)/lib
|
71 chuck 1.35
72 # l10n
73 # define the location for the compiled messages
74 MSG_ROOT = $(HOME_DIR)/msg
|
75 kumpf 1.22
76 # define the location for the repository
77 REPOSITORY_DIR = $(HOME_DIR)
78 REPOSITORY_ROOT = $(REPOSITORY_DIR)/repository
|
79 mike 1.1
|
80 kumpf 1.23 # The two variables, CIM_SCHEMA_DIR and CIM_SCHEMA_VER,
81 # are used to control the version of the CIM Schema
82 # loaded into the Pegasus Internal, InterOp,
83 # root/cimv2 and various test namespaces.
84 #
85 # Update the following two environment variables to
86 # change the version.
87
|
88 kumpf 1.37 # The environment variable PEGASUS_CIM_SCHEMA can be used
89 # to change the values of CIM_SCHEMA_DIR, CIM_SCHEMA_VER
90 # and ALLOW_EXPERIMENTAL.
91 #
92 # To use the PEGASUS_CIM_SCHEMA variable the Schema mof
93 # files must be placed in the directory
94 # $(PEGAUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
95 #
96 # The value of PEGASUS_CIM_SCHEMA must conform to the
97 # following syntax:
98 #
99 # CIM[Prelim]<CIM_SCHEMA_VER>
100 #
101 # The string "Prelim" should be included if the
102 # Schema contains "Experimental" class definitions.
103 #
104 # The value of <CIM_SCHEMA_VER> must be the value
105 # of the version string included by the DMTF as
106 # part of the mof file names (e.g, CIM_Core27.mof).
107 # Therefore, for example, the value of <CIM_SCHEMA_VER>
108 # for CIM27 Schema directories MUST be 27.
109 kumpf 1.37 #
110 # Examples of valid values of PEGASUS_CIM_SCHEMA
111 # include CIMPrelim27, CIM27, CIMPrelim28, and CIM28.
112 #
113 # Note the CIMPrelim271 would NOT be a valid value
114 # for PEGASUS_CIM_SCHEMA because the version string
115 # portion of the mof files (e.g., CIM_Core27.mof) in
116 # the CIMPrelimin271 directory is 27 not 271.
|
117 kumpf 1.23
|
118 gerarda 1.29 # ***** CIM_SCHEMA_DIR INFO ****
119 # If CIM_SCHEMA_DIR changes to use a preliminary schema which
120 # has experimentals make sure and change the path below to appopriate
121 # directory path. Example: CIMPrelim271 is preliminary and has
122 # experimental classes. Since experimental classes exist the -aE
123 # option of the mof compiler needs to be set.
124 # *****
|
125 kumpf 1.37
126 ifdef PEGASUS_CIM_SCHEMA
127 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/$(PEGASUS_CIM_SCHEMA)
128 CIM_SCHEMA_VER=$(patsubst CIM%,%,$(patsubst CIMPrelim%,%,$(PEGASUS_CIM_SCHEMA)))
129 else
130 CIM_SCHEMA_DIR=$(PEGASUS_ROOT)/Schemas/CIM27
131 CIM_SCHEMA_VER=27
132 endif
133
134 ifneq (, $(findstring Prelim, $(CIM_SCHEMA_DIR)))
135 ALLOW_EXPERIMENTAL = -aE
|
136 gerarda 1.29 else
|
137 kumpf 1.37 ALLOW_EXPERIMENTAL =
|
138 gerarda 1.29 endif
139
|
140 bob 1.5 LEX = flex
141
|
142 mike 1.8 ################################################################################
143 ##
144 ## Attempt to include a platform configuration file:
145 ##
146 ################################################################################
147
|
148 mike 1.9 ifeq ($(PEGASUS_PLATFORM),WIN32_IX86_MSVC)
149 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
150 mike 1.8 FOUND = true
151 endif
152
|
153 mike 1.9 ifeq ($(PEGASUS_PLATFORM),LINUX_IX86_GNU)
|
154 david.eger 1.32 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
155 FOUND = true
156 endif
157
158 ifeq ($(PEGASUS_PLATFORM),LINUX_PPC_GNU)
|
159 kumpf 1.19 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
160 FOUND = true
161 endif
162
163 ifeq ($(PEGASUS_PLATFORM),LINUX_IA64_GNU)
|
164 david.eger 1.33 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
165 FOUND = true
166 endif
167
168 ifeq ($(PEGASUS_PLATFORM),LINUX_ZSERIES_GNU)
|
169 mike 1.12 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
170 FOUND = true
171 endif
172
173 ifeq ($(PEGASUS_PLATFORM),AIX_RS_IBMCXX)
|
174 mike 1.13 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
175 FOUND = true
176 endif
177
178 ifeq ($(PEGASUS_PLATFORM),HPUX_PARISC_ACC)
|
179 kumpf 1.22 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
180 FOUND = true
181 endif
182
183 ifeq ($(PEGASUS_PLATFORM),HPUX_IA64_ACC)
|
184 mike 1.14 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
185 FOUND = true
186 endif
187
188 ifeq ($(PEGASUS_PLATFORM),TRU64_ALPHA_DECCXX)
|
189 mike 1.15 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
190 FOUND = true
191 endif
192
193 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_GNU)
|
194 keith.petley 1.34 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
195 FOUND = true
196 endif
197
198 ifeq ($(PEGASUS_PLATFORM),SOLARIS_SPARC_CC)
|
199 mike 1.9 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
|
200 mike 1.8 FOUND = true
|
201 mike 1.16 endif
202
203 ifeq ($(PEGASUS_PLATFORM),ZOS_ZSERIES_IBM)
204 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
205 FOUND = true
206 endif
207
208 ifeq ($(PEGASUS_PLATFORM),NSK_NONSTOP_NMCPLUS)
209 include $(ROOT)/mak/platform_$(PEGASUS_PLATFORM).mak
210 FOUND = true
|
211 mike 1.8 endif
212
213 ifneq ($(FOUND),true)
214 ERROR = pegasus_unknown_platform
215 pegasus_unknown_platform:
216 @ echo PEGASUS_PLATFORM environment variable must be set to one of\
217 the following: $(VALID_PLATFORMS)
218 @ exit 1
219 endif
|
220 karl 1.17
|
221 karl 1.36 ################################################################################
222 ##
223 ## Set up any platform independent compile conditionals by adding them to
224 ## precreated FLAGS parameter.
225 ## Assumes that the basic flags have been setup in FLAGS.
226 ## Assumes that compile time flags are controlled with -D CLI option.
227 ##
228 ################################################################################
|
229 karl 1.17
|
230 karl 1.36 # Setup the conditional compile for client displays.
231 #
232 ifdef PEGASUS_CLIENT_TRACE_ENABLE
233 DEFINES+= -DPEGASUS_CLIENT_TRACE_ENABLE
234 endif
235
|
236 mday 1.40 # do not compile trace code. sometimes it causes problems debugging
237 ifdef PEGASUS_REMOVE_TRACE
238 DEFINES+= -DPEGASUS_REMOVE_TRACE
239 endif
240
241
242 # use monitor_2
243 ifdef PEGASUS_MONITOR2
244 DEFINES+= -DPEGASUS_MONITOR2
245 endif
246
|
247 mday 1.41 # is the pegasus slp classes
248 ifdef PEGASUS_SLP_CLASSES
249 DEFINES+= -DPEGASUS_SLP_CLASSES
250 endif
251
|
252 karl 1.39 # setup function to enable SLP functions in the Pegasus standard compile
253 # Set the environment varaible PEGASUS_ENABLE_SLP to enable SLP code.
254 ifdef PEGASUS_ENABLE_SLP
255 DEFINES+= -DPEGASUS_ENABLE_SLP
256 endif
|
257 karl 1.36
|
258 chuck 1.42 # compile in the experimental APIs
259 DEFINES+= -DPEGASUS_USE_EXPERIMENTAL_INTERFACES
260
|
261 karl 1.36
|
262 karl 1.17 ############################################################
263 #
264 # Set up other Make Variables that depend on platform config files
265 #
266 ############################################################
267
268 # This is temporary until we end up with a better place to
269 # put this variable
270 # Makefiles can do directory remove with
271 # $(RMREPOSITORY) repositoryname
272 #
273 RMREPOSITORY = $(RMDIRHIER)
274
|
275 mday 1.27
|
276 mday 1.28
|
277 mday 1.27
|