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