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 mike 1.1 ROOT = ../..
30 DIR = Server
31 include $(ROOT)/mak/config.mak
32
33 LIBRARIES = \
|
34 carson.hovey 1.54 pegservice \
|
35 gs.keenan 1.31 pegclient \
|
36 mike 1.10 pegserver \
|
37 gs.keenan 1.31 peguser \
38 pegprm \
39 NamespaceProvider \
40 pegindicationservice \
41 peghandlerservice \
42 ConfigSettingProvider \
43 DefaultProviderManager \
44 ProviderRegistrationProvider \
45 pegauthentication \
46 UserAuthProvider \
|
47 kumpf 1.68 pegqueryexpression
|
48 denise.eckstein 1.45
|
49 karl 1.61 ifeq ($(PEGASUS_ENABLE_CQL),true)
|
50 denise.eckstein 1.45 LIBRARIES += \
51 pegcql
52 endif
53
54 LIBRARIES += \
|
55 carson.hovey 1.60 pegwql \
|
56 kumpf 1.68 pegquerycommon
|
57 denise.eckstein 1.45
|
58 karl 1.61 ifeq ($(PEGASUS_ENABLE_CQL),true)
|
59 denise.eckstein 1.45 LIBRARIES += \
60 CIMQueryCapabilitiesProvider
61 endif
62
63 LIBRARIES += \
|
64 mike 1.50 DefaultProviderManager \
65 pegprovidermanager
66
|
67 gs.keenan 1.34 ifndef PEGASUS_DISABLE_PERFINST
|
68 carson.hovey 1.40 LIBRARIES += \
|
69 marek 1.72 CIMOMStatDataProvider
70 endif
71
72 ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true)
73 LIBRARIES += \
|
74 kumpf 1.68 InteropProvider
|
75 gs.keenan 1.34 endif
76
|
77 a.arora 1.33 ifdef PEGASUS_HAS_SSL
78 LIBRARIES += \
|
79 gs.keenan 1.34 CertificateProvider
|
80 a.arora 1.33 endif
81
|
82 kumpf 1.57 ifeq ($(PEGASUS_ENABLE_SLP),true)
83 LIBRARIES += pegslp
|
84 mike 1.8 endif
|
85 kumpf 1.7
|
86 kumpf 1.62 ifeq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),true)
87 LIBRARIES += pegwsmserver
88 endif
89
|
90 gs.keenan 1.52 LIBRARIES += \
91 pegprovidermanager \
92 pegpmservice \
|
93 marek 1.70 pegpmrouter \
|
94 gs.keenan 1.52 pegprovider \
95 pegexportserver \
96 pegrepository \
97 pegconfig \
|
98 thilo.boehm 1.74 peghandler \
|
99 thilo.boehm 1.69 peggeneral \
|
100 kumpf 1.68 pegcommon
|
101 gs.keenan 1.52
|
102 marek 1.71 ifeq ($(PEGASUS_ENABLE_COMPRESSED_REPOSITORY),true)
103 LIBRARIES += z
104 endif
105
|
106 ouyang.jian 1.58 ifeq ($(PEGASUS_PLATFORM),PASE_ISERIES_IBMCXX)
107 LIBRARIES += ILEWrapperUtils
108 endif
109
|
110 mike 1.1 EXTRA_INCLUDES = $(SYS_INCLUDES)
111
|
112 dave.sudlik 1.56 EXTRA_LINK_FLAGS += $(JVM_LINK_FLAGS)
113
|
114 kumpf 1.16 LOCAL_DEFINES = -DPEGASUS_INTERNALONLY
115
|
116 kumpf 1.55 ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true)
117 PROGRAM = cimservermain
118 else
119 PROGRAM = cimserver
120 endif
|
121 mike 1.1
122 SOURCES = cimserver.cpp
123
|
124 ouyang.jian 1.58 #Large Program Support
125 #make program able to use maximum of 2GB memory
126 ifeq ($(PEGASUS_PLATFORM),PASE_ISERIES_IBMCXX)
127 EXTRA_LINK_FLAGS += -bmaxdata:0x80000000
128 endif
129
|
130 mike 1.1 include $(ROOT)/mak/program.mak
|
131 mike 1.2
|
132 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
133 mday 1.4 SYS_LIBS = ws2_32.lib advapi32.lib
134 endif
135
|
136 mike 1.2 tests:
137
|
138 kumpf 1.12 poststarttests:
139
|
140 denise.eckstein 1.42 include $(ROOT)/mak/commands.mak
141
|
142 denise.eckstein 1.41 PEGASUS_CREATE_SSLCNF_OPTIONS = \
143 PEGASUS_SSLCNF_COUNTRY_CODE="UK" \
144 PEGASUS_SSLCNF_STATE="Berkshire" \
145 PEGASUS_SSLCNF_LOCALITY="Reading" \
146 PEGASUS_SSLCNF_ORGANIZATION="The Open Group" \
147 PEGASUS_SSLCNF_ORGANIZATION_UNIT="The OpenPegasus Project"
148
149 ifdef PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN
150 PEGASUS_CREATE_SSLCNF_OPTIONS+= \
151 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN=$(PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN)
152 endif
153
154 ifndef PEGASUS_SSLCERT_CNFFILE
155 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_HOME)/ssl.cnf
156 endif
157
158 ifndef PEGASUS_SSLCERT_KEYFILE
159 PEGASUS_SSLCERT_KEYFILE=$(PEGASUS_HOME)/file.pem
160 endif
161
162 ifndef PEGASUS_SSLCERT_CERTFILE
163 denise.eckstein 1.41 PEGASUS_SSLCERT_CERTFILE=$(PEGASUS_HOME)/cert.pem
164 endif
165
166 PEGASUS_CREATE_SSLCERT_OPTIONS = \
167 PEGASUS_SSLCERT_DAYS=3650 \
168 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE) \
169 PEGASUS_SSLCERT_KEYFILE=$(PEGASUS_SSLCERT_KEYFILE)\
170 PEGASUS_SSLCERT_CERTFILE=$(PEGASUS_SSLCERT_CERTFILE)
171
172 ifdef PEGASUS_SSL_RANDOMFILE
173 PEGASUS_CREATE_SSL_CERT_OPTIONS += \
174 PEGASUS_SSLCERT_RANDOMFILE=$(PEGASUS_HOME)/cimserver.rnd
175 endif
176
177 _createSSLFiles:
178 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLCnfFile \
179 $(PEGASUS_CREATE_SSLCNF_OPTIONS) \
180 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE)
181 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLCertificate \
182 $(PEGASUS_CREATE_SSLCERT_OPTIONS)
183
184 denise.eckstein 1.41 createSSLFilesforCVS-SystemSpecific:
185 @$(MAKE) -f $(ROOT)/src/Server/Makefile _createSSLFiles \
186 PEGASUS_CREATE_PEGASUS_INTERNAL_CERT=yes \
187 PEGASUS_SSLCERT_CNFFILE=$(ROOT)/src/Server/ssl.cnf \
188 PEGASUS_SSLCERT_KEYFILE=$(ROOT)/src/Server/file.pem \
189 PEGASUS_SSLCERT_CERTFILE=$(ROOT)/src/Server/cert.pem \
190 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN="\"PEGASUS TEST CERTIFICATE-DO NOT USE\""
|
191 kumpf 1.68
|
192 denise.eckstein 1.41 displayCERTFILE:
193 @$(ECHO) "*** $(PEGASUS_SSLCERT_CERTFILE) ***"
194 @$(MAKE) -f $(ROOT)/src/Server/Makefile displayCertificate \
195 PEGASUS_SSLCERT_FILE=$(PEGASUS_SSLCERT_CERTFILE)
196
|
197 jim.wunderlich 1.46 clean: cleanupSSLFiles
198
|
199 kumpf 1.68 install_run_clean: cleanupSSLFiles
|
200 jim.wunderlich 1.46
|
201 denise.eckstein 1.41 cleanupSSLFiles:
202 @$(RM) $(PEGASUS_HOME)/cert.pem
203 @$(RM) $(PEGASUS_HOME)/file.pem
204 @$(RM) $(PEGASUS_HOME)/server.pem
205 @$(RM) $(PEGASUS_HOME)/client.pem
206 @$(RM) $(PEGASUS_HOME)/cimserver.rnd
207 @$(RM) $(PEGASUS_HOME)/ssl.rnd
208 @$(RM) $(PEGASUS_HOME)/ssl.cnf
209 @$(RM) $(PEGASUS_HOME)/client_cert.pem
210 @$(RM) $(PEGASUS_HOME)/client_file.pem
211 @$(RMDIRHIER) $(PEGASUS_HOME)/cimserver_trust
212 @$(RMDIRHIER) $(PEGASUS_HOME)/indication_trust
213 @$(RMDIRHIER) $(PEGASUS_HOME)/crl
|
214 jim.wunderlich 1.46 @$(RM) $(PEGASUS_HOME)/setupserverdev
|
215 denise.eckstein 1.41
216 createSSLTrustDirectories:
217 @$(MKDIRHIER) $(PEGASUS_HOME)/cimserver_trust
218 @$(MKDIRHIER) $(PEGASUS_HOME)/indication_trust
219 @$(MKDIRHIER) $(PEGASUS_HOME)/crl
220
|
221 denise.eckstein 1.47 removeSSLTrustDirectories:
222 @$(RMDIRHIER) $(PEGASUS_HOME)/cimserver_trust
223 @$(RMDIRHIER) $(PEGASUS_HOME)/indication_trust
224 @$(RMDIRHIER) $(PEGASUS_HOME)/crl
225
|
226 denise.eckstein 1.41 stageServerSSLFiles-SystemSpecific:
227 @$(MAKE) -f $(ROOT)/src/Server/Makefile cleanupSSLFiles
228 @$(COPY) ssl.rnd $(PEGASUS_HOME)
229 @$(COPY) cimserver.rnd $(PEGASUS_HOME)
230 @$(MAKE) -f $(ROOT)/src/Server/Makefile _createSSLFiles \
231 $(PEGASUS_CREATE_SSLCNF_OPTIONS) \
232 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE)
233 @$(COPY) $(PEGASUS_SSLCERT_CERTFILE) $(PEGASUS_HOME)/server.pem
234 @$(COPY) $(PEGASUS_SSLCERT_CERTFILE) $(PEGASUS_HOME)/client.pem
235
236 stageServerSSLFiles-SystemIndependent:
237 @$(MAKE) -f $(ROOT)/src/Server/Makefile cleanupSSLFiles
238 @$(COPY) cert.pem $(PEGASUS_HOME)
239 @$(COPY) file.pem $(PEGASUS_HOME)
240 @$(COPY) cert.pem $(PEGASUS_HOME)/server.pem
241 @$(COPY) cert.pem $(PEGASUS_HOME)/client.pem
242 @$(COPY) cimserver.rnd $(PEGASUS_HOME)
243 @$(COPY) ssl.rnd $(PEGASUS_HOME)
244 @$(COPY) ssl.cnf $(PEGASUS_HOME)
245
246 stageClientSSLFiles-SystemIndependent:
247 denise.eckstein 1.41 @$(COPY) cert.pem $(PEGASUS_HOME)/client_cert.pem
248 @$(COPY) file.pem $(PEGASUS_HOME)/client_file.pem
249 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLTrustDirectories
250
251 stageCIMServerConfigurationFiles:
252 @$(RM) $(PEGASUS_HOME)/cimserver_planned.conf
253 @$(COPY) cimserver_planned.conf $(PEGASUS_HOME)
|
254 jim.wunderlich 1.46
255 install_run: $(PEGASUS_HOME)/setupserverdev
256
|
257 kumpf 1.55 ##
258 ## Note: the $(PEGASUS_HOME)/trace dir must be writable by all users for
259 ## the tracing facility to work.
260
|
261 jim.wunderlich 1.46 $(PEGASUS_HOME)/setupserverdev: cert.pem file.pem cimserver.rnd ssl.rnd ssl.cnf
|
262 denise.eckstein 1.41 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageServerSSLFiles-SystemIndependent
263 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageClientSSLFiles-SystemIndependent
264 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageCIMServerConfigurationFiles
|
265 kumpf 1.55 $(MKDIRHIER) $(PEGASUS_HOME)/trace
266 ifeq ($(OS_TYPE),unix)
|
267 dev.meetei 1.73 ifdef PEGASUS_TEST_VALGRIND_LOG_DIR
268 -$(MKDIRHIER) $(PEGASUS_TEST_VALGRIND_LOG_DIR)
269 endif
|
270 kumpf 1.55 # Allow the repository to be created as the cimserver user
271 $(CHMOD) 777 $(PEGASUS_HOME)
272 # Allow trace files to be created by cimserver and cimprovagt process owners
273 $(CHMOD) 777 $(PEGASUS_HOME)/trace
274 endif
|
275 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
276 jim.wunderlich 1.46 -@$(PEGASUS_HOME)/bin/cimserver -install
|
277 tony 1.24 endif
|
278 jim.wunderlich 1.46 @$(TOUCH) $(PEGASUS_HOME)/setupserverdev
|
279 sushma.fernandes 1.59 ifeq ($(PEGASUS_TEST_ENABLE_DEBUG_TRACE),true)
|
280 kumpf 1.68 # Enable trace to capture Discarded data trace information to help
|
281 john.eisenbraun 1.65 # troubleshoot and detect test failures.
|
282 sushma.fernandes 1.59 cimconfig -s traceComponents=DiscardedData -p
283 cimconfig -s traceLevel=4 -p
284 endif
|
285 tony 1.24
286 uninstall:
|
287 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
288 tony 1.24 $(PEGASUS_HOME)/bin/cimserver -remove
289 endif
|
290 mike 1.8
|
291 konrad.r 1.29 run: install_run
|
292 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
293 tony 1.24 cimserver -start
|
294 mike 1.8 else
295 cimserver
296 endif
297
|