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 david.dillard 1.8 REMOVE_PEGASUS_DIRECTORY = mu rmdirhier pegasus
57 MUEXE = mu.exe
|
58 jim.wunderlich 1.22 RM = mu rm
|
59 david.dillard 1.8 MKDIRHIER = $(MUEXE) mkdirhier
60 RMDIRHIER = $(MUEXE) rmdirhier
61 ECHO = mu echo
|
62 denise.eckstein 1.13 ECHO-E = mu echo-e
|
63 david.dillard 1.8 COPY = mu copy
64 CHMOD =
65 CHOWN =
66 CHGRP =
|
67 nag.boranna 1.18 CURRENT_USER=Administrator
|
68 denise.eckstein 1.1 endif
69
70 ifeq ($(OS),HPUX)
|
71 david.dillard 1.8 STRIPCRS =
72 DIFF = diff
|
73 jim.wunderlich 1.22 SORT = sort
|
74 david.dillard 1.8 REDIRECTERROR = 2>&1
|
75 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
76 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
77 david.dillard 1.8 SLEEP = sleep
78 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
79 MUEXE = mu
80 MKDIRHIER = mkdir -p
81 RMDIRHIER = rm -rf
82 CPDIRHIER = cp -R
83 ECHO = echo
|
84 denise.eckstein 1.13 ECHO-E = echo
|
85 david.dillard 1.8 COPY = cp
86 TOUCH = touch
87 CAT = cat
88 DOCXX = doc++
89
90 GENERATE_RANDSEED = randseed
|
91 denise.eckstein 1.25 GET_HOSTNAME = `nslookup \`hostname\` | grep "Name:" | sed 's/Name:[ ]*//'`
|
92 david.dillard 1.8
93 ifeq ($(PEGASUS_PLATFORM), HPUX_PARISC_ACC)
94 LIB_LINK_SUFFIX = .sl
95 else
96 LIB_LINK_SUFFIX = .so
97 endif
98
|
99 denise.eckstein 1.19 Prwxr_xr_x = 755
|
100 denise.eckstein 1.24 Prwxrwxrwx = 777
|
101 kumpf 1.32 Prwxrwxrwt = 1777
|
102 denise.eckstein 1.19 Pr_xr__r__ = 744
103 Pr__r__r__ = 444
104 Pr________ = 400
105 Pr_xr_xr_x = 555
106 Prw_r__r__ = 644
|
107 david.dillard 1.8 CHMODDIRHIER = chmod -R
108
109 INSTALL_USR = bin
110 INSTALL_GRP = bin
111 CIMSERVER_USR = root
112 CIMSERVER_GRP = sys
113 CHMOD = chmod
114 CHOWN = chown
115 CHGRP = chgrp
116 CHOWNDIRHIER = chown -R
117 CHGRPDIRHIER = chgrp -R
|
118 denise.eckstein 1.2
|
119 david.dillard 1.8 SYMBOLIC_LINK_CMD = ln -f -s
|
120 nag.boranna 1.18
121 CURRENT_USER=`whoami`
|
122 denise.eckstein 1.1 endif
123
124 ifeq ($(OS),solaris)
|
125 david.dillard 1.8 STRIPCRS =
126 DIFF = diff
|
127 jim.wunderlich 1.22 SORT = sort
|
128 david.dillard 1.8 REDIRECTERROR = 2>&1
|
129 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
|
130 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"}'
131 SLEEP = sleep
132 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
133 MUEXE = mu
|
134 jim.wunderlich 1.22 RM = rm -f
|
135 david.dillard 1.8 MKDIRHIER = mkdir -p
136 RMDIRHIER = rm -rf
137 ECHO = echo
|
138 denise.eckstein 1.13 ECHO-E = mu echo-e
|
139 david.dillard 1.8 COPY = cp
140 CHMOD =
141 CHOWN =
142 CHGRP =
|
143 denise.eckstein 1.1 endif
144
145 ifeq ($(OS),linux)
|
146 david.dillard 1.8 STRIPCRS =
147 DIFF = diff
|
148 jim.wunderlich 1.22 SORT = sort
|
149 david.dillard 1.8 REDIRECTERROR = 2>&1
|
150 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
151 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
152 david.dillard 1.8 SLEEP = sleep
153 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
154 MUEXE = mu
155 MKDIRHIER = mkdir -p
156 RMDIRHIER = rm -rf
157 CPDIRHIER = cp -R
158 ECHO = echo
|
159 denise.eckstein 1.13 ECHO-E = echo -e
|
160 david.dillard 1.8 COPY = cp
161 TOUCH = touch
162 CAT = cat
163 DOCXX = doc++
164
|
165 denise.eckstein 1.25 GET_HOSTNAME = `host \`hostname\`|cut -d" " -f1`
|
166 david.dillard 1.8
167 LIB_LINK_SUFFIX = .so
168
|
169 denise.eckstein 1.24 Prwxrwxrwx = 777
|
170 kumpf 1.32 Prwxrwxrwt = 1777
|
171 denise.eckstein 1.19 Prwxr_xr_x = 755
172 Pr_xr__r__ = 744
173 Pr__r__r__ = 444
174 Pr________ = 400
175 Pr_xr_xr_x = 555
|
176 denise.eckstein 1.23 Pr_x______ = 500
|
177 denise.eckstein 1.19 Prw_r__r__ = 644
|
178 david.dillard 1.8 CHMODDIRHIER = chmod -R
179
|
180 denise.eckstein 1.31 INSTALL_USR = root
|
181 denise.eckstein 1.27 INSTALL_GRP = root
|
182 david.dillard 1.8 CIMSERVER_USR = root
183 CIMSERVER_GRP = root
184 CHMOD = chmod
185 CHOWN = chown
186 CHGRP = chgrp
187 CHOWNDIRHIER = chown -R
188 CHGRPDIRHIER = chgrp -R
|
189 denise.eckstein 1.4
|
190 david.dillard 1.8 SYMBOLIC_LINK_CMD = ln -f -s
|
191 denise.eckstein 1.20
192 CURRENT_USER=`whoami`
|
193 denise.eckstein 1.1 endif
194
195 ifeq ($(OS),zos)
|
196 david.dillard 1.8 STRIPCRS =
|
197 gs.keenan 1.9 DIFF = diff
|
198 jim.wunderlich 1.22 SORT = sort
|
199 david.dillard 1.8 REDIRECTERROR =
|
200 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
201 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
202 david.dillard 1.8 SLEEP = sleep
203 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
204 MUEXE = mu
|
205 jim.wunderlich 1.22 RM = rm -f
|
206 david.dillard 1.8 MKDIRHIER = mkdir -p
207 RMDIRHIER = rm -rf
208 ECHO =
|
209 denise.eckstein 1.13 ECHO-E =
|
210 david.dillard 1.8 COPY = cp
211 CHMOD =
212 CHOWN =
213 CHGRP =
|
214 denise.eckstein 1.1 endif
215
216 ifeq ($(OS),VMS)
|
217 carson.hovey 1.26 STRIPCRS =$(MUEXE) echo "STRIPCRS not defined in commands.mak"
|
218 gs.keenan 1.9 DIFF = mu compare
|
219 jim.wunderlich 1.22 SORT = mu sort
|
220 carson.hovey 1.26 REDIRECTERROR = $(MUEXE) echo "REDIRECTERROR not defined in commands.mak"
|
221 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
222 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
223 david.dillard 1.8 SLEEP = wait
224 REMOVE_PEGASUS_DIRECTORY = mu rmdirhier pegasus
225 MUEXE = mu
226 MKDIRHIER = $(MUEXE) mkdirhier
227 RMDIRHIER = $(MUEXE) rmdirhier
|
228 carson.hovey 1.26 ECHO = $(MUEXE) echo
229 ECHO-E = $(MUEXE) echo "ECHO-E not defined in commands.mak"
230 CHMOD = $(MUEXE) echo "CHMOD not defined in commands.mak"
231 CHOWN = $(MUEXE) echo "CHOWN not defined in commands.mak"
232 CHGRP = $(MUEXE) echo "CHGRP not defined in commands.mak"
|
233 denise.eckstein 1.1 endif
234
235 ifeq ($(OS),aix)
|
236 david.dillard 1.8 STRIPCRS =
|
237 gs.keenan 1.9 DIFF = diff
|
238 jim.wunderlich 1.22 SORT = sort
|
239 david.dillard 1.8 REDIRECTERROR =
|
240 denise.eckstein 1.15 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
241 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
|
242 david.dillard 1.8 SLEEP = sleep
243 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
244 MUEXE = mu
|
245 jim.wunderlich 1.22 RM = rm -f
|
246 david.dillard 1.8 MKDIRHIER = mkdir -p
247 RMDIRHIER = rm -rf
248 ECHO = echo
|
249 denise.eckstein 1.13 ECHO-E =
|
250 david.dillard 1.8 COPY = cp
251 CHMOD =
252 CHOWN =
253 CHGRP =
|
254 denise.eckstein 1.1 endif
255
|
256 bafna.mukesh 1.28 ifeq ($(OS),darwin)
257 STRIPCRS =
258 DIFF = diff
259 SORT = sort
260 REDIRECTERROR = 2>&1
261 CIMSERVER_START_SERVICE = $(CIMSERVER_PATH)cimserver $(CIMSERVER_CONFIG_OPTIONS)
262 CIMSERVER_STOP_SERVICE = $(CIMSERVER_PATH)cimserver -s
263 SLEEP = sleep
264 REMOVE_PEGASUS_DIRECTORY = rm -Rf pegasus.old; mv pegasus pegasus.old
265 MUEXE = mu
266 RM = rm -f
267 MKDIRHIER = mkdir -p
268 RMDIRHIER = rm -rf
269 ECHO = echo
270 ECHO-E = mu echo-e
271 COPY = cp
272 TOUCH = touch
273 CAT = cat
274
275 CHMOD = chmod
276 CHOWN = chown
277 bafna.mukesh 1.28 CHGRP = chgrp
278
279 CHMODDIRHIER = chmod -R
280 CHOWNDIRHIER = chown -R
281 CHGRPDIRHIER = chgrp -R
282
283 SYMBOLIC_LINK_CMD = ln -f -s
284
285 CURRENT_USER=`whoami`
286 endif
287
|
288 denise.eckstein 1.1 ifndef TMP_DIR
|
289 david.dillard 1.8 ifdef PEGASUS_TMP
290 TMP_DIR = $(subst \,/,$(PEGASUS_TMP))
291 else
292 TMP_DIR = .
293 endif
|
294 denise.eckstein 1.1 endif
295
|
296 denise.eckstein 1.3 CMDSFORCE:
|
297 denise.eckstein 1.1
|
298 denise.eckstein 1.3 cimstop: CMDSFORCE
|
299 denise.eckstein 1.1 $(CIMSERVER_STOP_SERVICE)
300
|
301 denise.eckstein 1.3 cimstart: CMDSFORCE
|
302 denise.eckstein 1.1 $(CIMSERVER_START_SERVICE)
303
|
304 denise.eckstein 1.3 sleep: CMDSFORCE
|
305 denise.eckstein 1.1 $(SLEEP) $(TIME)
306
|
307 denise.eckstein 1.3 mkdirhier: CMDSFORCE
|
308 denise.eckstein 1.1 $(MKDIRHIER) $(DIRNAME)
309
|
310 denise.eckstein 1.3 rmdirhier: CMDSFORCE
|
311 denise.eckstein 1.1 $(RMDIRHIER) $(DIRNAME)
312
|
313 denise.eckstein 1.3 setpermissions: CMDSFORCE
|
314 denise.eckstein 1.2 $(CHMOD) $(PERMISSIONS) $(OBJECT)
315 $(CHOWN) $(OWNER) $(OBJECT)
316 $(CHGRP) $(GROUP) $(OBJECT)
317
|
318 denise.eckstein 1.3 sethierpermissions: CMDSFORCE
|
319 denise.eckstein 1.2 $(CHMODDIRHIER) $(PERMISSIONS) $(OBJECT)
320 $(CHOWNDIRHIER) $(OWNER) $(OBJECT)
321 $(CHGRPDIRHIER) $(GROUP) $(OBJECT)
322
|
323 denise.eckstein 1.3 createlink: CMDSFORCE
|
324 denise.eckstein 1.2 $(SYMBOLIC_LINK_CMD) $(OBJECT) $(LINKNAME)
325
|
326 denise.eckstein 1.3 createrandomseed: CMDSFORCE
|
327 denise.eckstein 1.2 $(GENERATE_RANDSEED) $(FILENAME)
328
|
329 denise.eckstein 1.14 # Because commands.mak is intended to be used as
330 # helper Makefile, embedded use of calls to "make" are
331 # problematic because the name of toplevel is not known.
332 # To workaround this problem, the MAKEOPTIONS define
333 # has been added to the following commands to
334 # allow the name of the toplevel Makefile to be included.
335 # E.g.,
336 #
337 # make MAKEOPTION="-f TestMakefile" cimstop_IgnoreError
338 #
339 # However, a better alternative would be to call the
340 # the command directly from the toplevel makefile.
341 # E.g.,
342 #
343 # make -f TestMakefile -i cimstop
344
345 cimstop_IgnoreError: CMDSFORCE
346 @$(MAKE) $(MAKEOPTIONS) -i cimstop
347
348 rmdirhier_IgnoreError: CMDSFORCE
349 @$(MAKE) $(MAKEOPTIONS) -i rmdirhier
350 denise.eckstein 1.14
351 mkdirhier_IgnoreError: CMDSFORCE
352 @$(MAKE) $(MAKEOPTIONS) -i mkdirhier
353
354
355 # The runTestSuite option starts the CIM Server
|
356 denise.eckstein 1.10 # with a designated set of configuration options (i.e.,
357 # CIMSERVER_CONFIG_OPTIONS) and then runs a specified
358 # set of tests (i.e., TESTSUITE_CMDS). After the tests
359 # have been executed, the CIM Server is stopped.
360 #
361 # To call runTestSuite, you simply (1) define the
362 # configuration options, (2) define the set of
363 # tests and (3) call commands.mak with the appropriate
364 # parameters. Note: when specifying the set of tests
365 # @@ is used as a replacement for blank. E.g., the
366 # following sequence can be used to enable the
367 # HTTP connection, disable the HTTPS connection and
368 # run an osinfo, TestClient, OSTestClient,
369 # and InvokeMethod2 test.
370 #
371 #runTestSuiteTest_CONFIG_OPTIONS = enableHttpConnection=true enableHttpsConnection=false
372 #runTestSuiteTest_TEST_CMDS = \
373 # osinfo@@-hlocalhost@@-p5988@@-uguest@@-wguest\
374 # TestClient@@-local \
375 # OSTestClient \
376 # $(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Pegasus/Client/tests/InvokeMethod2@@poststarttests
377 denise.eckstein 1.10 #
378 #runTestSuiteTest: CMDSFORCE
|
379 denise.eckstein 1.14 # $(MAKE) $(MAKEOPTIONS) runTestSuite CIMSERVER_CONFIG_OPTIONS="$(runTestSuiteTest_CONFIG_OPTIONS)" TESTSUITE_CMDS="$(runTestSuiteTest_TEST_CMDS)"
|
380 denise.eckstein 1.10
381 runTestSuite: CMDSFORCE
|
382 denise.eckstein 1.14 $(CIMSERVER_START_SERVICE)
|
383 jim.wunderlich 1.30 $(foreach i, $(TESTSUITE_CMDS), $(subst @@, ,$(i)))
|
384 denise.eckstein 1.14 $(CIMSERVER_STOP_SERVICE)
|
385 denise.eckstein 1.25
386 ifndef PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN
387 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN=$(GET_HOSTNAME)
388 endif
389
390 createSSLCnfFile: CMDSFORCE
391 @$(RM) $(PEGASUS_SSLCERT_CNFFILE)
392 @$(ECHO) "[ req ]" >> $(PEGASUS_SSLCERT_CNFFILE)
393 @$(ECHO) "distinguished_name = req_distinguished_name" >> $(PEGASUS_SSLCERT_CNFFILE)
394 @$(ECHO) "prompt = no" >> $(PEGASUS_SSLCERT_CNFFILE)
395 @$(ECHO) "[ req_distinguished_name ]" >> $(PEGASUS_SSLCERT_CNFFILE)
396 @$(ECHO) "C = $(PEGASUS_SSLCNF_COUNTRY_CODE)" >> $(PEGASUS_SSLCERT_CNFFILE)
397 @$(ECHO) "ST = $(PEGASUS_SSLCNF_STATE)" >> $(PEGASUS_SSLCERT_CNFFILE)
398 @$(ECHO) "L = $(PEGASUS_SSLCNF_LOCALITY)" >> $(PEGASUS_SSLCERT_CNFFILE)
399 @$(ECHO) "O = $(PEGASUS_SSLCNF_ORGANIZATION)" >> $(PEGASUS_SSLCERT_CNFFILE)
400 @$(ECHO) "OU = $(PEGASUS_SSLCNF_ORGANIZATION_UNIT)" >> $(PEGASUS_SSLCERT_CNFFILE)
401 @$(ECHO) "CN = $(PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN)" >> $(PEGASUS_SSLCERT_CNFFILE)
402
403 createSSLCertificate: CMDSFORCE
404 ifdef PEGASUS_SSL_RANDOMFILE
405 @$(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
406 denise.eckstein 1.25 $(PEGASUS_SSLCERT_CERTFILE)
407 else
408 @$(OPENSSL_COMMAND) req -x509 -days $(PEGASUS_SSLCERT_DAYS) -newkey rsa:2048 -nodes -config $(PEGASUS_SSLCERT_CNFFILE) -keyout $(PEGASUS_SSLCERT_KEYFILE) -out $(PEGASUS_SSLCERT_CERTFILE)
409 endif
410
411 displayCertificate: CMDSFORCE
412 @$(OPENSSL_COMMAND) x509 -in $(PEGASUS_SSLCERT_CERTFILE) -text
|