1 martin 1.66 #//%LICENSE////////////////////////////////////////////////////////////////
|
2 martin 1.67 #//
|
3 martin 1.66 #// Licensed to The Open Group (TOG) under one or more contributor license
4 #// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
5 #// this work for additional information regarding copyright ownership.
6 #// Each contributor licenses this file to you under the OpenPegasus Open
7 #// Source License; you may not use this file except in compliance with the
8 #// License.
|
9 martin 1.67 #//
|
10 martin 1.66 #// Permission is hereby granted, free of charge, to any person obtaining a
11 #// copy of this software and associated documentation files (the "Software"),
12 #// to deal in the Software without restriction, including without limitation
13 #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 #// and/or sell copies of the Software, and to permit persons to whom the
15 #// Software is furnished to do so, subject to the following conditions:
|
16 martin 1.67 #//
|
17 martin 1.66 #// The above copyright notice and this permission notice shall be included
18 #// in all copies or substantial portions of the Software.
|
19 martin 1.67 #//
|
20 martin 1.66 #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
21 martin 1.67 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
22 martin 1.66 #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27 martin 1.67 #//
|
28 martin 1.66 #//////////////////////////////////////////////////////////////////////////
|
29 karl 1.77 ##
30 ## Note that in addition to the normal targets defined for building and
31 ## executing poststarttests, this Makefile includes a target
32 ## createSSLFilesforCVS-SystemSpecific
33 ## To recreate the cert.pem ssl.cnf, and file.pem files that are in this
34 ## directory and are committed to CVS. Normally this would be executed only
35 ## if there is a problem with this self-signed certificate which is used
36 ## only in local testing.
37 ##
|
38 mike 1.1 ROOT = ../..
39 DIR = Server
40 include $(ROOT)/mak/config.mak
41
42 LIBRARIES = \
|
43 carson.hovey 1.54 pegservice \
|
44 gs.keenan 1.31 pegclient \
|
45 mike 1.10 pegserver \
|
46 gs.keenan 1.31 pegprm \
47 NamespaceProvider \
48 pegindicationservice \
49 peghandlerservice \
50 ConfigSettingProvider \
51 DefaultProviderManager \
52 ProviderRegistrationProvider \
53 pegauthentication \
|
54 kumpf 1.68 pegqueryexpression
|
55 denise.eckstein 1.45
|
56 dl.meetei 1.75 ifndef PEGASUS_PAM_AUTHENTICATION
57 LIBRARIES += peguser \
58 UserAuthProvider
59 endif
60
|
61 karl 1.61 ifeq ($(PEGASUS_ENABLE_CQL),true)
|
62 denise.eckstein 1.45 LIBRARIES += \
63 pegcql
64 endif
65
66 LIBRARIES += \
|
67 carson.hovey 1.60 pegwql \
|
68 kumpf 1.68 pegquerycommon
|
69 denise.eckstein 1.45
|
70 karl 1.61 ifeq ($(PEGASUS_ENABLE_CQL),true)
|
71 denise.eckstein 1.45 LIBRARIES += \
72 CIMQueryCapabilitiesProvider
73 endif
74
75 LIBRARIES += \
|
76 mike 1.50 DefaultProviderManager \
77 pegprovidermanager
78
|
79 gs.keenan 1.34 ifndef PEGASUS_DISABLE_PERFINST
|
80 carson.hovey 1.40 LIBRARIES += \
|
81 marek 1.72 CIMOMStatDataProvider
82 endif
83
84 ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true)
85 LIBRARIES += \
|
86 kumpf 1.68 InteropProvider
|
87 gs.keenan 1.34 endif
88
|
89 a.arora 1.33 ifdef PEGASUS_HAS_SSL
90 LIBRARIES += \
|
91 gs.keenan 1.34 CertificateProvider
|
92 a.arora 1.33 endif
93
|
94 kumpf 1.57 ifeq ($(PEGASUS_ENABLE_SLP),true)
95 LIBRARIES += pegslp
|
96 mike 1.8 endif
|
97 kumpf 1.7
|
98 kumpf 1.62 ifeq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),true)
99 LIBRARIES += pegwsmserver
100 endif
101
|
102 lawrence.luo 1.76 ifeq ($(PEGASUS_ENABLE_PROTOCOL_WEB),true)
103 LIBRARIES += pegwebserver
104 endif
105
|
106 gs.keenan 1.52 LIBRARIES += \
107 pegprovidermanager \
108 pegpmservice \
|
109 marek 1.70 pegpmrouter \
|
110 gs.keenan 1.52 pegprovider \
111 pegexportserver \
112 pegrepository \
113 pegconfig \
|
114 thilo.boehm 1.74 peghandler \
|
115 thilo.boehm 1.69 peggeneral \
|
116 lawrence.luo 1.76 pegcommon \
117 cimrsserver
|
118 gs.keenan 1.52
|
119 marek 1.71 ifeq ($(PEGASUS_ENABLE_COMPRESSED_REPOSITORY),true)
120 LIBRARIES += z
121 endif
122
|
123 ouyang.jian 1.58 ifeq ($(PEGASUS_PLATFORM),PASE_ISERIES_IBMCXX)
124 LIBRARIES += ILEWrapperUtils
125 endif
126
|
127 mike 1.1 EXTRA_INCLUDES = $(SYS_INCLUDES)
128
|
129 dave.sudlik 1.56 EXTRA_LINK_FLAGS += $(JVM_LINK_FLAGS)
130
|
131 kumpf 1.16 LOCAL_DEFINES = -DPEGASUS_INTERNALONLY
132
|
133 kumpf 1.55 ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true)
134 PROGRAM = cimservermain
135 else
136 PROGRAM = cimserver
137 endif
|
138 mike 1.1
139 SOURCES = cimserver.cpp
140
|
141 ouyang.jian 1.58 #Large Program Support
142 #make program able to use maximum of 2GB memory
143 ifeq ($(PEGASUS_PLATFORM),PASE_ISERIES_IBMCXX)
144 EXTRA_LINK_FLAGS += -bmaxdata:0x80000000
145 endif
146
|
147 mike 1.1 include $(ROOT)/mak/program.mak
|
148 mike 1.2
|
149 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
150 mday 1.4 SYS_LIBS = ws2_32.lib advapi32.lib
151 endif
152
|
153 mike 1.2 tests:
154
|
155 kumpf 1.12 poststarttests:
156
|
157 karl 1.77 #####################################################################
158 ##
159 ## The following set of definitions and targets generate the certificate,
160 ## key and ssl configuration files that are in this directory and are used
161 ## for local nightly, stress, etc. testing. This is # a manual operation.
162 ## It may be invoked at any time but generally when
163 ## the cert expires (about each 10 years). There is no automatic tool to
164 ## test for expired cert and generate new cert.
165 ##
166
|
167 denise.eckstein 1.42 include $(ROOT)/mak/commands.mak
168
|
169 denise.eckstein 1.41 PEGASUS_CREATE_SSLCNF_OPTIONS = \
170 PEGASUS_SSLCNF_COUNTRY_CODE="UK" \
171 PEGASUS_SSLCNF_STATE="Berkshire" \
172 PEGASUS_SSLCNF_LOCALITY="Reading" \
173 PEGASUS_SSLCNF_ORGANIZATION="The Open Group" \
174 PEGASUS_SSLCNF_ORGANIZATION_UNIT="The OpenPegasus Project"
175
176 ifdef PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN
177 PEGASUS_CREATE_SSLCNF_OPTIONS+= \
178 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN=$(PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN)
179 endif
180
181 ifndef PEGASUS_SSLCERT_CNFFILE
182 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_HOME)/ssl.cnf
183 endif
184
185 ifndef PEGASUS_SSLCERT_KEYFILE
186 PEGASUS_SSLCERT_KEYFILE=$(PEGASUS_HOME)/file.pem
187 endif
188
189 ifndef PEGASUS_SSLCERT_CERTFILE
190 denise.eckstein 1.41 PEGASUS_SSLCERT_CERTFILE=$(PEGASUS_HOME)/cert.pem
191 endif
192
193 PEGASUS_CREATE_SSLCERT_OPTIONS = \
194 PEGASUS_SSLCERT_DAYS=3650 \
195 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE) \
196 PEGASUS_SSLCERT_KEYFILE=$(PEGASUS_SSLCERT_KEYFILE)\
197 PEGASUS_SSLCERT_CERTFILE=$(PEGASUS_SSLCERT_CERTFILE)
198
199 ifdef PEGASUS_SSL_RANDOMFILE
200 PEGASUS_CREATE_SSL_CERT_OPTIONS += \
201 PEGASUS_SSLCERT_RANDOMFILE=$(PEGASUS_HOME)/cimserver.rnd
202 endif
203
|
204 karl 1.77
205 ##
206 ## This target created the ssl file based on predefined information and
207 ## then creates the certificate
208 ##
|
209 denise.eckstein 1.41 _createSSLFiles:
210 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLCnfFile \
211 $(PEGASUS_CREATE_SSLCNF_OPTIONS) \
212 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE)
213 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLCertificate \
214 $(PEGASUS_CREATE_SSLCERT_OPTIONS)
215
|
216 karl 1.77 ##
217 ## Create a new ssl.cnf, key file, and cert file based on the definitions
218 ## defined below. This target generates the files generally used in local
219 ## testing
220 ##
|
221 denise.eckstein 1.41 createSSLFilesforCVS-SystemSpecific:
222 @$(MAKE) -f $(ROOT)/src/Server/Makefile _createSSLFiles \
223 PEGASUS_CREATE_PEGASUS_INTERNAL_CERT=yes \
224 PEGASUS_SSLCERT_CNFFILE=$(ROOT)/src/Server/ssl.cnf \
225 PEGASUS_SSLCERT_KEYFILE=$(ROOT)/src/Server/file.pem \
226 PEGASUS_SSLCERT_CERTFILE=$(ROOT)/src/Server/cert.pem \
227 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN="\"PEGASUS TEST CERTIFICATE-DO NOT USE\""
|
228 kumpf 1.68
|
229 karl 1.77 ##
230 ## Simply displays the existing certificate
231 ##
|
232 denise.eckstein 1.41 displayCERTFILE:
233 @$(ECHO) "*** $(PEGASUS_SSLCERT_CERTFILE) ***"
234 @$(MAKE) -f $(ROOT)/src/Server/Makefile displayCertificate \
235 PEGASUS_SSLCERT_FILE=$(PEGASUS_SSLCERT_CERTFILE)
236
|
237 jim.wunderlich 1.46 clean: cleanupSSLFiles
238
|
239 kumpf 1.68 install_run_clean: cleanupSSLFiles
|
240 jim.wunderlich 1.46
|
241 denise.eckstein 1.41 cleanupSSLFiles:
242 @$(RM) $(PEGASUS_HOME)/cert.pem
243 @$(RM) $(PEGASUS_HOME)/file.pem
244 @$(RM) $(PEGASUS_HOME)/server.pem
245 @$(RM) $(PEGASUS_HOME)/client.pem
246 @$(RM) $(PEGASUS_HOME)/cimserver.rnd
247 @$(RM) $(PEGASUS_HOME)/ssl.rnd
248 @$(RM) $(PEGASUS_HOME)/ssl.cnf
249 @$(RM) $(PEGASUS_HOME)/client_cert.pem
250 @$(RM) $(PEGASUS_HOME)/client_file.pem
251 @$(RMDIRHIER) $(PEGASUS_HOME)/cimserver_trust
252 @$(RMDIRHIER) $(PEGASUS_HOME)/indication_trust
253 @$(RMDIRHIER) $(PEGASUS_HOME)/crl
|
254 jim.wunderlich 1.46 @$(RM) $(PEGASUS_HOME)/setupserverdev
|
255 denise.eckstein 1.41
256 createSSLTrustDirectories:
257 @$(MKDIRHIER) $(PEGASUS_HOME)/cimserver_trust
258 @$(MKDIRHIER) $(PEGASUS_HOME)/indication_trust
259 @$(MKDIRHIER) $(PEGASUS_HOME)/crl
260
|
261 denise.eckstein 1.47 removeSSLTrustDirectories:
262 @$(RMDIRHIER) $(PEGASUS_HOME)/cimserver_trust
263 @$(RMDIRHIER) $(PEGASUS_HOME)/indication_trust
264 @$(RMDIRHIER) $(PEGASUS_HOME)/crl
265
|
266 denise.eckstein 1.41 stageServerSSLFiles-SystemSpecific:
267 @$(MAKE) -f $(ROOT)/src/Server/Makefile cleanupSSLFiles
268 @$(COPY) ssl.rnd $(PEGASUS_HOME)
269 @$(COPY) cimserver.rnd $(PEGASUS_HOME)
270 @$(MAKE) -f $(ROOT)/src/Server/Makefile _createSSLFiles \
271 $(PEGASUS_CREATE_SSLCNF_OPTIONS) \
272 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE)
273 @$(COPY) $(PEGASUS_SSLCERT_CERTFILE) $(PEGASUS_HOME)/server.pem
274 @$(COPY) $(PEGASUS_SSLCERT_CERTFILE) $(PEGASUS_HOME)/client.pem
275
276 stageServerSSLFiles-SystemIndependent:
277 @$(MAKE) -f $(ROOT)/src/Server/Makefile cleanupSSLFiles
278 @$(COPY) cert.pem $(PEGASUS_HOME)
279 @$(COPY) file.pem $(PEGASUS_HOME)
280 @$(COPY) cert.pem $(PEGASUS_HOME)/server.pem
281 @$(COPY) cert.pem $(PEGASUS_HOME)/client.pem
282 @$(COPY) cimserver.rnd $(PEGASUS_HOME)
283 @$(COPY) ssl.rnd $(PEGASUS_HOME)
284 @$(COPY) ssl.cnf $(PEGASUS_HOME)
285
286 stageClientSSLFiles-SystemIndependent:
287 denise.eckstein 1.41 @$(COPY) cert.pem $(PEGASUS_HOME)/client_cert.pem
288 @$(COPY) file.pem $(PEGASUS_HOME)/client_file.pem
289 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLTrustDirectories
290
291 stageCIMServerConfigurationFiles:
292 @$(RM) $(PEGASUS_HOME)/cimserver_planned.conf
293 @$(COPY) cimserver_planned.conf $(PEGASUS_HOME)
|
294 jim.wunderlich 1.46
295 install_run: $(PEGASUS_HOME)/setupserverdev
296
|
297 kumpf 1.55 ##
298 ## Note: the $(PEGASUS_HOME)/trace dir must be writable by all users for
299 ## the tracing facility to work.
300
|
301 jim.wunderlich 1.46 $(PEGASUS_HOME)/setupserverdev: cert.pem file.pem cimserver.rnd ssl.rnd ssl.cnf
|
302 denise.eckstein 1.41 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageServerSSLFiles-SystemIndependent
303 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageClientSSLFiles-SystemIndependent
304 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageCIMServerConfigurationFiles
|
305 kumpf 1.55 $(MKDIRHIER) $(PEGASUS_HOME)/trace
306 ifeq ($(OS_TYPE),unix)
|
307 dev.meetei 1.73 ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
308 -$(MKDIRHIER) $(PEGASUS_TEST_VALGRIND_LOG_DIR)
309 endif
|
310 kumpf 1.55 # Allow the repository to be created as the cimserver user
311 $(CHMOD) 777 $(PEGASUS_HOME)
312 # Allow trace files to be created by cimserver and cimprovagt process owners
313 $(CHMOD) 777 $(PEGASUS_HOME)/trace
314 endif
|
315 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
316 jim.wunderlich 1.46 -@$(PEGASUS_HOME)/bin/cimserver -install
|
317 tony 1.24 endif
|
318 jim.wunderlich 1.46 @$(TOUCH) $(PEGASUS_HOME)/setupserverdev
|
319 sushma.fernandes 1.59 ifeq ($(PEGASUS_TEST_ENABLE_DEBUG_TRACE),true)
|
320 kumpf 1.68 # Enable trace to capture Discarded data trace information to help
|
321 john.eisenbraun 1.65 # troubleshoot and detect test failures.
|
322 sushma.fernandes 1.59 cimconfig -s traceComponents=DiscardedData -p
323 cimconfig -s traceLevel=4 -p
324 endif
|
325 tony 1.24
326 uninstall:
|
327 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
328 tony 1.24 $(PEGASUS_HOME)/bin/cimserver -remove
329 endif
|
330 mike 1.8
|
331 konrad.r 1.29 run: install_run
|
332 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
333 tony 1.24 cimserver -start
|
334 mike 1.8 else
335 cimserver
336 endif
337
|