(file) Return to Makefile CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Server

  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                       

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2