1 martin 1.29 #//%2005////////////////////////////////////////////////////////////////////////
2 #//
3 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
6 #// IBM Corp.; EMC Corporation, The Open Group.
7 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 #// EMC Corporation; VERITAS Software Corporation; The Open Group.
11 #//
12 #// Permission is hereby granted, free of charge, to any person obtaining a copy
13 #// of this software and associated documentation files (the "Software"), to
14 #// deal in the Software without restriction, including without limitation the
15 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
16 #// sell copies of the Software, and to permit persons to whom the Software is
17 #// furnished to do so, subject to the following conditions:
18 #//
19 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
20 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
21 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
22 martin 1.29 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
23 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 #//
28 #//==============================================================================
|
29 denise.eckstein 1.25 # commands.mak is a helper Makefile that is intended to be included in an upper level Makefile.
|
30 denise.eckstein 1.14
31 # Ensure that config.mak is included (so that the ROOT variable is set correctly)
32
|
33 kumpf 1.12 ifndef ROOT
34 ifdef PEGASUS_ROOT
35 ROOT = $(subst \,/,$(PEGASUS_ROOT))
36 else
37 ROOT = .
|
38 david.dillard 1.8 endif
39 include $(ROOT)/mak/config.mak
|
40 denise.eckstein 1.1 endif
41
|
42 denise.eckstein 1.19 ifndef OPENSSL_BIN
43 OPENSSL_BIN = $(OPENSSL_HOME)/bin
44 endif
45
|
46 h.sterling 1.21 OPENSSL_COMMAND = $(OPENSSL_BIN)/openssl
47
|
48 denise.eckstein 1.1 ifeq ($(OS),win32)
|
49 david.dillard 1.8 STRIPCRS = stripcrs $(RESULTFILE) $(MASTERRESULTFILE)
50 DIFF = mu compare
|
51 jim.wunderlich 1.22 SORT = mu sort
|
52 david.dillard 1.8 REDIRECTERROR = 2>&1
|
53 kumpf 1.16 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS) -start
|
54 denise.eckstein 1.15 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -stop
|
55 joyce.j 1.11 SLEEP = mu sleep
|
56 aruran.ms 1.33 WINDOWS_ONLY_SLEEP = mu sleep 10
|
57 david.dillard 1.8 REMOVE_PEGASUS_DIRECTORY = mu rmdirhier pegasus
58 MUEXE = mu.exe
|
59 jim.wunderlich 1.22 RM = mu rm
|
60 david.dillard 1.8 MKDIRHIER = $(MUEXE) mkdirhier
61 RMDIRHIER = $(MUEXE) rmdirhier
62 ECHO = mu echo
|
63 denise.eckstein 1.13 ECHO-E = mu echo-e
|
64 david.dillard 1.8 COPY = mu copy
65 CHMOD =
66 CHOWN =
67 CHGRP =
|
68 nag.boranna 1.18 CURRENT_USER=Administrator
|
69 aruran.ms 1.33 else
70 WINDOWS_ONLY_SLEEP =
|
71 denise.eckstein 1.1 endif
72
73 ifeq ($(OS),HPUX)
|
74 david.dillard 1.8 STRIPCRS =
75 DIFF = diff
|
76 jim.wunderlich 1.22 SORT = sort
|
77 david.dillard 1.8 REDIRECTERROR = 2>&1
|
78 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
79 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
80 david.dillard 1.8 SLEEP = sleep
81 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
82 MUEXE = mu
83 MKDIRHIER = mkdir -p
84 RMDIRHIER = rm -rf
85 CPDIRHIER = cp -R
86 ECHO = echo
|
87 denise.eckstein 1.13 ECHO-E = echo
|
88 david.dillard 1.8 COPY = cp
89 TOUCH = touch
90 CAT = cat
91 DOCXX = doc++
92
93 GENERATE_RANDSEED = randseed
|
94 denise.eckstein 1.25 GET_HOSTNAME = `nslookup \`hostname\` | grep "Name:" | sed 's/Name:[ ]*//'`
|
95 david.dillard 1.8
96 ifeq ($(PEGASUS_PLATFORM), HPUX_PARISC_ACC)
97 LIB_LINK_SUFFIX = .sl
98 else
99 LIB_LINK_SUFFIX = .so
100 endif
101
|
102 denise.eckstein 1.19 Prwxr_xr_x = 755
|
103 denise.eckstein 1.24 Prwxrwxrwx = 777
|
104 kumpf 1.32 Prwxrwxrwt = 1777
|
105 denise.eckstein 1.19 Pr_xr__r__ = 744
106 Pr__r__r__ = 444
107 Pr________ = 400
108 Pr_xr_xr_x = 555
109 Prw_r__r__ = 644
|
110 david.dillard 1.8 CHMODDIRHIER = chmod -R
111
112 INSTALL_USR = bin
113 INSTALL_GRP = bin
114 CIMSERVER_USR = root
115 CIMSERVER_GRP = sys
116 CHMOD = chmod
117 CHOWN = chown
118 CHGRP = chgrp
119 CHOWNDIRHIER = chown -R
120 CHGRPDIRHIER = chgrp -R
|
121 denise.eckstein 1.2
|
122 david.dillard 1.8 SYMBOLIC_LINK_CMD = ln -f -s
|
123 nag.boranna 1.18
124 CURRENT_USER=`whoami`
|
125 denise.eckstein 1.1 endif
126
127 ifeq ($(OS),solaris)
|
128 david.dillard 1.8 STRIPCRS =
129 DIFF = diff
|
130 jim.wunderlich 1.22 SORT = sort
|
131 david.dillard 1.8 REDIRECTERROR = 2>&1
|
132 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
|
133 david.dillard 1.8 CIMSERVER_STOP_SERVICE = /usr/bin/ps -ef | /usr/bin/grep cimserver | /usr/bin/grep -v grep | /usr/bin/awk '{print "kill -9 "$$2 |"/usr/bin/ksh"}'
134 SLEEP = sleep
135 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
136 MUEXE = mu
|
137 jim.wunderlich 1.22 RM = rm -f
|
138 david.dillard 1.8 MKDIRHIER = mkdir -p
139 RMDIRHIER = rm -rf
140 ECHO = echo
|
141 denise.eckstein 1.13 ECHO-E = mu echo-e
|
142 david.dillard 1.8 COPY = cp
143 CHMOD =
144 CHOWN =
145 CHGRP =
|
146 denise.eckstein 1.1 endif
147
148 ifeq ($(OS),linux)
|
149 david.dillard 1.8 STRIPCRS =
150 DIFF = diff
|
151 jim.wunderlich 1.22 SORT = sort
|
152 david.dillard 1.8 REDIRECTERROR = 2>&1
|
153 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
154 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
155 david.dillard 1.8 SLEEP = sleep
156 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
157 MUEXE = mu
158 MKDIRHIER = mkdir -p
159 RMDIRHIER = rm -rf
160 CPDIRHIER = cp -R
161 ECHO = echo
|
162 denise.eckstein 1.13 ECHO-E = echo -e
|
163 david.dillard 1.8 COPY = cp
164 TOUCH = touch
165 CAT = cat
166 DOCXX = doc++
167
|
168 denise.eckstein 1.25 GET_HOSTNAME = `host \`hostname\`|cut -d" " -f1`
|
169 david.dillard 1.8
170 LIB_LINK_SUFFIX = .so
171
|
172 denise.eckstein 1.24 Prwxrwxrwx = 777
|
173 kumpf 1.32 Prwxrwxrwt = 1777
|
174 denise.eckstein 1.19 Prwxr_xr_x = 755
175 Pr_xr__r__ = 744
176 Pr__r__r__ = 444
177 Pr________ = 400
178 Pr_xr_xr_x = 555
|
179 denise.eckstein 1.23 Pr_x______ = 500
|
180 denise.eckstein 1.19 Prw_r__r__ = 644
|
181 david.dillard 1.8 CHMODDIRHIER = chmod -R
182
|
183 denise.eckstein 1.31 INSTALL_USR = root
|
184 denise.eckstein 1.27 INSTALL_GRP = root
|
185 david.dillard 1.8 CIMSERVER_USR = root
186 CIMSERVER_GRP = root
187 CHMOD = chmod
188 CHOWN = chown
189 CHGRP = chgrp
190 CHOWNDIRHIER = chown -R
191 CHGRPDIRHIER = chgrp -R
|
192 denise.eckstein 1.4
|
193 david.dillard 1.8 SYMBOLIC_LINK_CMD = ln -f -s
|
194 denise.eckstein 1.20
195 CURRENT_USER=`whoami`
|
196 denise.eckstein 1.1 endif
197
198 ifeq ($(OS),zos)
|
199 david.dillard 1.8 STRIPCRS =
|
200 gs.keenan 1.9 DIFF = diff
|
201 jim.wunderlich 1.22 SORT = sort
|
202 david.dillard 1.8 REDIRECTERROR =
|
203 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
204 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
205 david.dillard 1.8 SLEEP = sleep
206 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
207 MUEXE = mu
|
208 jim.wunderlich 1.22 RM = rm -f
|
209 david.dillard 1.8 MKDIRHIER = mkdir -p
210 RMDIRHIER = rm -rf
211 ECHO =
|
212 denise.eckstein 1.13 ECHO-E =
|
213 david.dillard 1.8 COPY = cp
214 CHMOD =
215 CHOWN =
216 CHGRP =
|
217 denise.eckstein 1.1 endif
218
219 ifeq ($(OS),VMS)
|
220 carson.hovey 1.26 STRIPCRS =$(MUEXE) echo "STRIPCRS not defined in commands.mak"
|
221 gs.keenan 1.9 DIFF = mu compare
|
222 jim.wunderlich 1.22 SORT = mu sort
|
223 carson.hovey 1.26 REDIRECTERROR = $(MUEXE) echo "REDIRECTERROR not defined in commands.mak"
|
224 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
225 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
226 david.dillard 1.8 SLEEP = wait
227 REMOVE_PEGASUS_DIRECTORY = mu rmdirhier pegasus
228 MUEXE = mu
229 MKDIRHIER = $(MUEXE) mkdirhier
230 RMDIRHIER = $(MUEXE) rmdirhier
|
231 carson.hovey 1.26 ECHO = $(MUEXE) echo
232 ECHO-E = $(MUEXE) echo "ECHO-E not defined in commands.mak"
233 CHMOD = $(MUEXE) echo "CHMOD not defined in commands.mak"
234 CHOWN = $(MUEXE) echo "CHOWN not defined in commands.mak"
235 CHGRP = $(MUEXE) echo "CHGRP not defined in commands.mak"
|
236 denise.eckstein 1.1 endif
237
238 ifeq ($(OS),aix)
|
239 david.dillard 1.8 STRIPCRS =
|
240 gs.keenan 1.9 DIFF = diff
|
241 jim.wunderlich 1.22 SORT = sort
|
242 david.dillard 1.8 REDIRECTERROR =
|
243 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
244 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
245 david.dillard 1.8 SLEEP = sleep
246 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
247 MUEXE = mu
|
248 jim.wunderlich 1.22 RM = rm -f
|
249 david.dillard 1.8 MKDIRHIER = mkdir -p
250 RMDIRHIER = rm -rf
251 ECHO = echo
|
252 denise.eckstein 1.13 ECHO-E =
|
253 david.dillard 1.8 COPY = cp
254 CHMOD =
255 CHOWN =
256 CHGRP =
|
257 denise.eckstein 1.1 endif
258
|
259 bafna.mukesh 1.28 ifeq ($(OS),darwin)
260 STRIPCRS =
261 DIFF = diff
262 SORT = sort
263 REDIRECTERROR = 2>&1
264 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
265 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
266 SLEEP = sleep
267 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
268 MUEXE = mu
269 RM = rm -f
270 MKDIRHIER = mkdir -p
271 RMDIRHIER = rm -rf
272 ECHO = echo
273 ECHO-E = mu echo-e
274 COPY = cp
275 TOUCH = touch
276 CAT = cat
277
278 CHMOD = chmod
279 CHOWN = chown
280 bafna.mukesh 1.28 CHGRP = chgrp
281
282 CHMODDIRHIER = chmod -R
283 CHOWNDIRHIER = chown -R
284 CHGRPDIRHIER = chgrp -R
285
286 SYMBOLIC_LINK_CMD = ln -f -s
287
288 CURRENT_USER=`whoami`
289 endif
290
|
291 denise.eckstein 1.1 ifndef TMP_DIR
|
292 david.dillard 1.8 ifdef PEGASUS_TMP
293 TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
294 else
295 TMP_DIR = .
296 endif
|
297 denise.eckstein 1.1 endif
298
|
299 denise.eckstein 1.3 CMDSFORCE:
|
300 denise.eckstein 1.1
|
301 denise.eckstein 1.3 cimstop: CMDSFORCE
|
302 denise.eckstein 1.1 $(CIMSERVER_STOP_SERVICE)
303
|
304 denise.eckstein 1.3 cimstart: CMDSFORCE
|
305 denise.eckstein 1.1 $(CIMSERVER_START_SERVICE)
306
|
307 denise.eckstein 1.3 sleep: CMDSFORCE
|
308 denise.eckstein 1.1 $(SLEEP) $(TIME)
309
|
310 denise.eckstein 1.3 mkdirhier: CMDSFORCE
|
311 denise.eckstein 1.1 $(MKDIRHIER) $(DIRNAME)
312
|
313 denise.eckstein 1.3 rmdirhier: CMDSFORCE
|
314 denise.eckstein 1.1 $(RMDIRHIER) $(DIRNAME)
315
|
316 denise.eckstein 1.3 setpermissions: CMDSFORCE
|
317 denise.eckstein 1.2 $(CHMOD) $(PERMISSIONS) $(OBJECT)
318 $(CHOWN) $(OWNER) $(OBJECT)
319 $(CHGRP) $(GROUP) $(OBJECT)
320
|
321 denise.eckstein 1.3 sethierpermissions: CMDSFORCE
|
322 denise.eckstein 1.2 $(CHMODDIRHIER) $(PERMISSIONS) $(OBJECT)
323 $(CHOWNDIRHIER) $(OWNER) $(OBJECT)
324 $(CHGRPDIRHIER) $(GROUP) $(OBJECT)
325
|
326 denise.eckstein 1.3 createlink: CMDSFORCE
|
327 denise.eckstein 1.2 $(SYMBOLIC_LINK_CMD) $(OBJECT) $(LINKNAME)
328
|
329 denise.eckstein 1.3 createrandomseed: CMDSFORCE
|
330 denise.eckstein 1.2 $(GENERATE_RANDSEED) $(FILENAME)
331
|
332 denise.eckstein 1.14 # Because commands.mak is intended to be used as
333 # helper Makefile, embedded use of calls to "make" are
334 # problematic because the name of toplevel is not known.
335 # To workaround this problem, the MAKEOPTIONS define
336 # has been added to the following commands to
337 # allow the name of the toplevel Makefile to be included.
338 # E.g.,
339 #
340 # make MAKEOPTION="-f TestMakefile" cimstop_IgnoreError
341 #
342 # However, a better alternative would be to call the
343 # the command directly from the toplevel makefile.
344 # E.g.,
345 #
346 # make -f TestMakefile -i cimstop
347
348 cimstop_IgnoreError: CMDSFORCE
349 @$(MAKE) $(MAKEOPTIONS) -i cimstop
350
351 rmdirhier_IgnoreError: CMDSFORCE
352 @$(MAKE) $(MAKEOPTIONS) -i rmdirhier
353 denise.eckstein 1.14
354 mkdirhier_IgnoreError: CMDSFORCE
355 @$(MAKE) $(MAKEOPTIONS) -i mkdirhier
356
357
358 # The runTestSuite option starts the CIM Server
|
359 denise.eckstein 1.10 # with a designated set of configuration options (i.e.,
360 # CIMSERVER_CONFIG_OPTIONS) and then runs a specified
361 # set of tests (i.e., TESTSUITE_CMDS). After the tests
362 # have been executed, the CIM Server is stopped.
363 #
364 # To call runTestSuite, you simply (1) define the
365 # configuration options, (2) define the set of
366 # tests and (3) call commands.mak with the appropriate
367 # parameters. Note: when specifying the set of tests
368 # @@ is used as a replacement for blank. E.g., the
369 # following sequence can be used to enable the
370 # HTTP connection, disable the HTTPS connection and
371 # run an osinfo, TestClient, OSTestClient,
372 # and InvokeMethod2 test.
373 #
374 #runTestSuiteTest_CONFIG_OPTIONS = enableHttpConnection=true enableHttpsConnection=false
375 #runTestSuiteTest_TEST_CMDS = \
376 # osinfo@@-hlocalhost@@-p5988@@-uguest@@-wguest\
377 # TestClient@@-local \
378 # OSTestClient \
379 # $(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Pegasus/Client/tests/InvokeMethod2@@poststarttests
380 denise.eckstein 1.10 #
381 #runTestSuiteTest: CMDSFORCE
|
382 denise.eckstein 1.14 # $(MAKE) $(MAKEOPTIONS) runTestSuite CIMSERVER_CONFIG_OPTIONS="$(runTestSuiteTest_CONFIG_OPTIONS)" TESTSUITE_CMDS="$(runTestSuiteTest_TEST_CMDS)"
|
383 denise.eckstein 1.10
384 runTestSuite: CMDSFORCE
|
385 denise.eckstein 1.14 $(CIMSERVER_START_SERVICE)
|
386 aruran.ms 1.33 $(WINDOWS_ONLY_SLEEP)
|
387 jim.wunderlich 1.30 $(foreach i, $(TESTSUITE_CMDS), $(subst @@, ,$(i)))
|
388 denise.eckstein 1.14 $(CIMSERVER_STOP_SERVICE)
|
389 denise.eckstein 1.25
390 ifndef PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN
391 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN=$(GET_HOSTNAME)
392 endif
393
394 createSSLCnfFile: CMDSFORCE
395 @$(RM) $(PEGASUS_SSLCERT_CNFFILE)
396 @$(ECHO) "[ req ]" >> $(PEGASUS_SSLCERT_CNFFILE)
397 @$(ECHO) "distinguished_name = req_distinguished_name" >> $(PEGASUS_SSLCERT_CNFFILE)
398 @$(ECHO) "prompt = no" >> $(PEGASUS_SSLCERT_CNFFILE)
399 @$(ECHO) "[ req_distinguished_name ]" >> $(PEGASUS_SSLCERT_CNFFILE)
400 @$(ECHO) "C = $(PEGASUS_SSLCNF_COUNTRY_CODE)" >> $(PEGASUS_SSLCERT_CNFFILE)
401 @$(ECHO) "ST = $(PEGASUS_SSLCNF_STATE)" >> $(PEGASUS_SSLCERT_CNFFILE)
402 @$(ECHO) "L = $(PEGASUS_SSLCNF_LOCALITY)" >> $(PEGASUS_SSLCERT_CNFFILE)
403 @$(ECHO) "O = $(PEGASUS_SSLCNF_ORGANIZATION)" >> $(PEGASUS_SSLCERT_CNFFILE)
404 @$(ECHO) "OU = $(PEGASUS_SSLCNF_ORGANIZATION_UNIT)" >> $(PEGASUS_SSLCERT_CNFFILE)
405 @$(ECHO) "CN = $(PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN)" >> $(PEGASUS_SSLCERT_CNFFILE)
406
407 createSSLCertificate: CMDSFORCE
408 ifdef PEGASUS_SSL_RANDOMFILE
409 @$(OPENSSL_COMMAND) req -x509 -days $(PEGASUS_SSLCERT_DAYS) -newkey rsa:2048 -rand $(PEGASUS_SSLCERT_RANDOMFILE) -nodes -config $(PEGASUS_SSLCERT_CNFFILE) -keyout $(PEGASUS_SSLCERT_KEYFILE) -out
410 denise.eckstein 1.25 $(PEGASUS_SSLCERT_CERTFILE)
411 else
412 @$(OPENSSL_COMMAND) req -x509 -days $(PEGASUS_SSLCERT_DAYS) -newkey rsa:2048 -nodes -config $(PEGASUS_SSLCERT_CNFFILE) -keyout $(PEGASUS_SSLCERT_KEYFILE) -out $(PEGASUS_SSLCERT_CERTFILE)
413 endif
414
415 displayCertificate: CMDSFORCE
416 @$(OPENSSL_COMMAND) x509 -in $(PEGASUS_SSLCERT_CERTFILE) -text
|