1 karl 1.49 #//%2006////////////////////////////////////////////////////////////////////////
|
2 martin 1.43 #//
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 karl 1.49 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 #// EMC Corporation; Symantec Corporation; The Open Group.
|
13 martin 1.43 #//
14 #// Permission is hereby granted, free of charge, to any person obtaining a copy
15 #// of this software and associated documentation files (the "Software"), to
16 #// deal in the Software without restriction, including without limitation the
17 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 #// sell copies of the Software, and to permit persons to whom the Software is
19 #// furnished to do so, subject to the following conditions:
20 #//
21 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 #//
30 #//==============================================================================
|
31 mike 1.1 ROOT = ../..
32 DIR = Server
33 include $(ROOT)/mak/config.mak
34
35 LIBRARIES = \
|
36 carson.hovey 1.54 pegservice \
|
37 gs.keenan 1.31 pegclient \
|
38 mike 1.10 pegserver \
|
39 gs.keenan 1.31 peguser \
40 pegprm \
41 NamespaceProvider \
42 pegindicationservice \
43 peghandlerservice \
44 ConfigSettingProvider \
45 DefaultProviderManager \
46 ProviderRegistrationProvider \
47 pegauthentication \
48 UserAuthProvider \
|
49 denise.eckstein 1.45 pegqueryexpression
50
|
51 karl 1.61 ifeq ($(PEGASUS_ENABLE_CQL),true)
|
52 denise.eckstein 1.45 LIBRARIES += \
53 pegcql
54 endif
55
56 LIBRARIES += \
|
57 carson.hovey 1.60 pegwql \
58 pegquerycommon
|
59 denise.eckstein 1.45
|
60 karl 1.61 ifeq ($(PEGASUS_ENABLE_CQL),true)
|
61 denise.eckstein 1.45 LIBRARIES += \
62 CIMQueryCapabilitiesProvider
63 endif
64
65 LIBRARIES += \
|
66 mike 1.50 DefaultProviderManager \
67 pegprovidermanager
68
|
69 gs.keenan 1.34 ifndef PEGASUS_DISABLE_PERFINST
|
70 carson.hovey 1.40 LIBRARIES += \
71 CIMOMStatDataProvider \
72 InteropProvider
73 else
|
74 jim.wunderlich 1.48 ifeq ($(PEGASUS_ENABLE_SLP),true)
|
75 carson.hovey 1.40 LIBRARIES += \
76 InteropProvider
77 endif
|
78 gs.keenan 1.34 endif
79
|
80 a.arora 1.33 ifdef PEGASUS_HAS_SSL
81 LIBRARIES += \
|
82 gs.keenan 1.34 CertificateProvider
|
83 a.arora 1.33 endif
84
|
85 kumpf 1.57 ifeq ($(PEGASUS_ENABLE_SLP),true)
86 LIBRARIES += pegslp
|
87 mike 1.8 endif
|
88 kumpf 1.7
|
89 kumpf 1.62 ifeq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),true)
90 LIBRARIES += pegwsmserver
91 endif
92
|
93 gs.keenan 1.52 LIBRARIES += \
94 pegprovidermanager \
95 pegpmservice \
96 pegprovider \
97 pegexportserver \
98 pegrepository \
99 pegconfig \
|
100 carson.hovey 1.54 pegcommon
|
101 gs.keenan 1.52
|
102 ouyang.jian 1.58 ifeq ($(PEGASUS_PLATFORM),PASE_ISERIES_IBMCXX)
103 LIBRARIES += ILEWrapperUtils
104 endif
105
|
106 mike 1.1 EXTRA_INCLUDES = $(SYS_INCLUDES)
107
|
108 dave.sudlik 1.56 EXTRA_LINK_FLAGS += $(JVM_LINK_FLAGS)
109
|
110 kumpf 1.16 LOCAL_DEFINES = -DPEGASUS_INTERNALONLY
111
|
112 kumpf 1.55 ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true)
113 PROGRAM = cimservermain
114 else
115 PROGRAM = cimserver
116 endif
|
117 mike 1.1
118 SOURCES = cimserver.cpp
119
|
120 ouyang.jian 1.58 #Large Program Support
121 #make program able to use maximum of 2GB memory
122 ifeq ($(PEGASUS_PLATFORM),PASE_ISERIES_IBMCXX)
123 EXTRA_LINK_FLAGS += -bmaxdata:0x80000000
124 endif
125
|
126 mike 1.1 include $(ROOT)/mak/program.mak
|
127 mike 1.2
|
128 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
129 mday 1.4 SYS_LIBS = ws2_32.lib advapi32.lib
130 endif
131
|
132 mike 1.2 tests:
133
|
134 kumpf 1.12 poststarttests:
135
|
136 denise.eckstein 1.42 include $(ROOT)/mak/commands.mak
137
|
138 denise.eckstein 1.41 PEGASUS_CREATE_SSLCNF_OPTIONS = \
139 PEGASUS_SSLCNF_COUNTRY_CODE="UK" \
140 PEGASUS_SSLCNF_STATE="Berkshire" \
141 PEGASUS_SSLCNF_LOCALITY="Reading" \
142 PEGASUS_SSLCNF_ORGANIZATION="The Open Group" \
143 PEGASUS_SSLCNF_ORGANIZATION_UNIT="The OpenPegasus Project"
144
145 ifdef PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN
146 PEGASUS_CREATE_SSLCNF_OPTIONS+= \
147 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN=$(PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN)
148 endif
149
150 ifndef PEGASUS_SSLCERT_CNFFILE
151 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_HOME)/ssl.cnf
152 endif
153
154 ifndef PEGASUS_SSLCERT_KEYFILE
155 PEGASUS_SSLCERT_KEYFILE=$(PEGASUS_HOME)/file.pem
156 endif
157
158 ifndef PEGASUS_SSLCERT_CERTFILE
159 denise.eckstein 1.41 PEGASUS_SSLCERT_CERTFILE=$(PEGASUS_HOME)/cert.pem
160 endif
161
162 PEGASUS_CREATE_SSLCERT_OPTIONS = \
163 PEGASUS_SSLCERT_DAYS=3650 \
164 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE) \
165 PEGASUS_SSLCERT_KEYFILE=$(PEGASUS_SSLCERT_KEYFILE)\
166 PEGASUS_SSLCERT_CERTFILE=$(PEGASUS_SSLCERT_CERTFILE)
167
168 ifdef PEGASUS_SSL_RANDOMFILE
169 PEGASUS_CREATE_SSL_CERT_OPTIONS += \
170 PEGASUS_SSLCERT_RANDOMFILE=$(PEGASUS_HOME)/cimserver.rnd
171 endif
172
173 _createSSLFiles:
174 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLCnfFile \
175 $(PEGASUS_CREATE_SSLCNF_OPTIONS) \
176 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE)
177 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLCertificate \
178 $(PEGASUS_CREATE_SSLCERT_OPTIONS)
179
180 denise.eckstein 1.41 createSSLFilesforCVS-SystemSpecific:
181 @$(MAKE) -f $(ROOT)/src/Server/Makefile _createSSLFiles \
182 PEGASUS_CREATE_PEGASUS_INTERNAL_CERT=yes \
183 PEGASUS_SSLCERT_CNFFILE=$(ROOT)/src/Server/ssl.cnf \
184 PEGASUS_SSLCERT_KEYFILE=$(ROOT)/src/Server/file.pem \
185 PEGASUS_SSLCERT_CERTFILE=$(ROOT)/src/Server/cert.pem \
186 PEGASUS_SSLCNF_FULLY_QUALIFIED_DSN="\"PEGASUS TEST CERTIFICATE-DO NOT USE\""
187
188 displayCERTFILE:
189 @$(ECHO) "*** $(PEGASUS_SSLCERT_CERTFILE) ***"
190 @$(MAKE) -f $(ROOT)/src/Server/Makefile displayCertificate \
191 PEGASUS_SSLCERT_FILE=$(PEGASUS_SSLCERT_CERTFILE)
192
|
193 jim.wunderlich 1.46 clean: cleanupSSLFiles
194
195 install_run_clean: cleanupSSLFiles
196
|
197 denise.eckstein 1.41 cleanupSSLFiles:
198 @$(RM) $(PEGASUS_HOME)/cert.pem
199 @$(RM) $(PEGASUS_HOME)/file.pem
200 @$(RM) $(PEGASUS_HOME)/server.pem
201 @$(RM) $(PEGASUS_HOME)/client.pem
202 @$(RM) $(PEGASUS_HOME)/cimserver.rnd
203 @$(RM) $(PEGASUS_HOME)/ssl.rnd
204 @$(RM) $(PEGASUS_HOME)/ssl.cnf
205 @$(RM) $(PEGASUS_HOME)/client_cert.pem
206 @$(RM) $(PEGASUS_HOME)/client_file.pem
207 @$(RMDIRHIER) $(PEGASUS_HOME)/cimserver_trust
208 @$(RMDIRHIER) $(PEGASUS_HOME)/indication_trust
209 @$(RMDIRHIER) $(PEGASUS_HOME)/crl
|
210 jim.wunderlich 1.46 @$(RM) $(PEGASUS_HOME)/setupserverdev
|
211 denise.eckstein 1.41
212 createSSLTrustDirectories:
213 @$(MKDIRHIER) $(PEGASUS_HOME)/cimserver_trust
214 @$(MKDIRHIER) $(PEGASUS_HOME)/indication_trust
215 @$(MKDIRHIER) $(PEGASUS_HOME)/crl
216
|
217 denise.eckstein 1.47 removeSSLTrustDirectories:
218 @$(RMDIRHIER) $(PEGASUS_HOME)/cimserver_trust
219 @$(RMDIRHIER) $(PEGASUS_HOME)/indication_trust
220 @$(RMDIRHIER) $(PEGASUS_HOME)/crl
221
|
222 denise.eckstein 1.41 stageServerSSLFiles-SystemSpecific:
223 @$(MAKE) -f $(ROOT)/src/Server/Makefile cleanupSSLFiles
224 @$(COPY) ssl.rnd $(PEGASUS_HOME)
225 @$(COPY) cimserver.rnd $(PEGASUS_HOME)
226 @$(MAKE) -f $(ROOT)/src/Server/Makefile _createSSLFiles \
227 $(PEGASUS_CREATE_SSLCNF_OPTIONS) \
228 PEGASUS_SSLCERT_CNFFILE=$(PEGASUS_SSLCERT_CNFFILE)
229 @$(COPY) $(PEGASUS_SSLCERT_CERTFILE) $(PEGASUS_HOME)/server.pem
230 @$(COPY) $(PEGASUS_SSLCERT_CERTFILE) $(PEGASUS_HOME)/client.pem
231
232 stageServerSSLFiles-SystemIndependent:
233 @$(MAKE) -f $(ROOT)/src/Server/Makefile cleanupSSLFiles
234 @$(COPY) cert.pem $(PEGASUS_HOME)
235 @$(COPY) file.pem $(PEGASUS_HOME)
236 @$(COPY) cert.pem $(PEGASUS_HOME)/server.pem
237 @$(COPY) cert.pem $(PEGASUS_HOME)/client.pem
238 @$(COPY) cimserver.rnd $(PEGASUS_HOME)
239 @$(COPY) ssl.rnd $(PEGASUS_HOME)
240 @$(COPY) ssl.cnf $(PEGASUS_HOME)
241
242 stageClientSSLFiles-SystemIndependent:
243 denise.eckstein 1.41 @$(COPY) cert.pem $(PEGASUS_HOME)/client_cert.pem
244 @$(COPY) file.pem $(PEGASUS_HOME)/client_file.pem
245 @$(MAKE) -f $(ROOT)/src/Server/Makefile createSSLTrustDirectories
246
247 stageCIMServerConfigurationFiles:
248 @$(RM) $(PEGASUS_HOME)/cimserver_planned.conf
249 @$(COPY) cimserver_planned.conf $(PEGASUS_HOME)
|
250 jim.wunderlich 1.46
251 install_run: $(PEGASUS_HOME)/setupserverdev
252
|
253 kumpf 1.55 ##
254 ## Note: the $(PEGASUS_HOME)/trace dir must be writable by all users for
255 ## the tracing facility to work.
256
|
257 jim.wunderlich 1.46 $(PEGASUS_HOME)/setupserverdev: cert.pem file.pem cimserver.rnd ssl.rnd ssl.cnf
|
258 denise.eckstein 1.41 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageServerSSLFiles-SystemIndependent
259 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageClientSSLFiles-SystemIndependent
260 @$(MAKE) -f $(ROOT)/src/Server/Makefile stageCIMServerConfigurationFiles
|
261 kumpf 1.55 $(MKDIRHIER) $(PEGASUS_HOME)/trace
262 ifeq ($(OS_TYPE),unix)
263 # Allow the repository to be created as the cimserver user
264 $(CHMOD) 777 $(PEGASUS_HOME)
265 # Allow trace files to be created by cimserver and cimprovagt process owners
266 $(CHMOD) 777 $(PEGASUS_HOME)/trace
267 endif
|
268 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
269 jim.wunderlich 1.46 -@$(PEGASUS_HOME)/bin/cimserver -install
|
270 tony 1.24 endif
|
271 jim.wunderlich 1.46 @$(TOUCH) $(PEGASUS_HOME)/setupserverdev
|
272 sushma.fernandes 1.59 ifeq ($(PEGASUS_TEST_ENABLE_DEBUG_TRACE),true)
|
273 john.eisenbraun 1.65 # Enable trace to capture Discarded data trace information to help
274 # troubleshoot and detect test failures.
|
275 sushma.fernandes 1.59 cimconfig -s traceComponents=DiscardedData -p
276 cimconfig -s traceLevel=4 -p
277 endif
|
278 tony 1.24
279 uninstall:
|
280 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
281 tony 1.24 $(PEGASUS_HOME)/bin/cimserver -remove
282 endif
|
283 mike 1.8
|
284 konrad.r 1.29 run: install_run
|
285 a.dunfey 1.53 ifeq ($(OS_TYPE),windows)
|
286 tony 1.24 cimserver -start
|
287 mike 1.8 else
288 cimserver
289 endif
290
|