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

  1 karl  1.36 #//%2006////////////////////////////////////////////////////////////////////////
  2 martin 1.31 #//
  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.36 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12             #// EMC Corporation; Symantec Corporation; The Open Group.
 13 martin 1.31 #//
 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 karl   1.6  # Pegasus top level make file
 32 jim.wunderlich 1.34 # see the usage rule for options
 33                     
 34 mike           1.1  ROOT = .
 35                     
 36 konrad.r       1.24 include $(ROOT)/env_var.status
 37 mike           1.1  include $(ROOT)/mak/config.mak
 38                     
 39 karl           1.11 # This is a recurse make file
 40 karl           1.6  # Defines subdirectorys to go to recursively
 41                     
 42 mike           1.3  # DIRS = src cgi
 43 mike           1.43.2.1 
 44                         ifeq ($(OS_TYPE),vxworks)
 45 mike           1.43.2.2     DIRS = \
 46                                 src/Pegasus/Common \
 47                                 src/Pegasus/Config \
 48                                 src/Pegasus/Query/QueryCommon \
 49                                 src/Pegasus/WQL \
 50                                 src/Pegasus/CQL \
 51                                 src/Pegasus/Query/QueryExpression \
 52                                 src/Pegasus/Security/UserManager \
 53                                 src/Service \
 54                                 src/Pegasus/Provider \
 55                                 src/Pegasus/Repository \
 56                                 src/Pegasus/Server/ProviderRegistrationManager \
 57                                 src/Pegasus/ProviderManager2 \
 58                                 src/Pegasus/ProviderManager2/Default \
 59                                 src/Pegasus/ExportServer \
 60                                 src/Pegasus/ProviderManagerService \
 61                                 src/Pegasus/Security/Authentication \
 62                                 src/Pegasus/HandlerService \
 63                                 src/Pegasus/IndicationService \
 64                                 src/Pegasus/ControlProviders/InteropProvider \
 65                                 src/Pegasus/ControlProviders/Statistic \
 66 mike           1.43.2.2         src/Pegasus/ControlProviders/QueryCapabilitiesProvider \
 67                                 src/Pegasus/ControlProviders/ProviderRegistrationProvider \
 68                                 src/Pegasus/ControlProviders/NamespaceProvider \
 69                                 src/Pegasus/ControlProviders/ConfigSettingProvider \
 70                                 src/Pegasus/ControlProviders/UserAuthProvider \
 71 mike           1.43.2.10         src/slp/slp_client/src/cmd-utils/slp_client \
 72                                  src/slp/slp_agent \
 73 mike           1.43.2.2          src/Pegasus/Server \
 74 mike           1.43.2.11         src/Pegasus/Handler/CIMxmlIndicationHandler \
 75                                  src/Pegasus/ExportClient \
 76                                  src/Pegasus/Client \
 77 mike           1.43.2.5          src/Server
 78 mike           1.43.2.1  else
 79                              DIRS = src test Schemas
 80                          endif
 81 mike           1.1       
 82 karl           1.11      # Define the inclusion of the recurse.mak file to execute the next
 83                          # level of makefiles defined by the DIRS variable
 84 karl           1.6       
 85 mike           1.43.2.1  ifeq ($(OS_TYPE),vxworks)
 86                              defaultrule: all
 87                          else
 88                              defaultrule: all setupdevserver
 89                          endif
 90 jim.wunderlich 1.34      
 91 mike           1.1       include $(ROOT)/mak/recurse.mak
 92                          
 93 jim.wunderlich 1.34      .PHONY: FORCE
 94 jim.wunderlich 1.32      
 95 jim.wunderlich 1.34      FORCE:
 96 jim.wunderlich 1.32      
 97 jim.wunderlich 1.34      usage: FORCE
 98                          	$(USAGE)
 99                          	$(USAGE)"Makefile targets:"
100                          	$(USAGE)
101                          	$(USAGE)"Recursive rules - These are the primatives that traverse the tree"
102                          	$(USAGE)"invoking the specified command in each subdirectory directory."
103                          	$(USAGE)"NOTE: all is special, it specifies no target and therefore invokes"
104                          	$(USAGE)"the default rule for that directory."
105                          	$(USAGE)"all                 - recursive DEFAULT rule"
106                          	$(USAGE)"clean               - recursive clean"
107                          	$(USAGE)"depend              - buildmu recursive depend"
108                          	$(USAGE)"messages            - rootbundle recursive messages"
109                          	$(USAGE)"tests               - recursive tests"
110                          	$(USAGE)"poststarttests      - recursive poststarttests"
111                          	$(USAGE) 
112                          	$(USAGE)"Combinational rules - Combine other rules to achieve results"
113                          	$(USAGE)"DEFAULT RULE        - all, setupdevserver"
114                          	$(USAGE)"new                 - clean repositoryclean"
115                          	$(USAGE)"build               - depend all, setupdevserver"
116                          	$(USAGE)"world               - build unittests servertests"
117                          	$(USAGE)
118 jim.wunderlich 1.34      	$(USAGE)"Functional rules - Other rules to achieve specified results"
119 jim.wunderlich 1.35      	$(USAGE)"clobber             -removes objects built during compile"
120                          	$(USAGE)"                     specifically the following directories are removed:"
121                          	$(USAGE)"                      $(PEGASUS_HOME)/bin"
122                          	$(USAGE)"                      $(PEGASUS_HOME)/lib"
123                          	$(USAGE)"                      $(PEGASUS_HOME)/obj"
124 jim.wunderlich 1.34      	$(USAGE)"buildmu             - builds the mu utility"
125                          	$(USAGE)"setupdevserver      - setup the development server env"
126                          	$(USAGE)"cleandevserver      - cleans the development server env"
127 karl           1.39      	$(USAGE)"repository          - builds the base repository. Does not remove other"
128                          	$(USAGE)"                      namespaces than the base namespaces."  
129 jim.wunderlich 1.34      	$(USAGE)"testrepository      - builds items for the test suites into the repository"
130                          	$(USAGE)"removetestrepository- removes test items from the repository"
131 karl           1.39      	$(USAGE)"repositoryclean     - removes the complete repository"
132 jim.wunderlich 1.34      	$(USAGE)"listplatforms       - List all valid platforms"
133                          	$(USAGE)
134                          	$(USAGE)"Test rules (accessable here but implemented in TestMakefile)"
135                          	$(USAGE)"alltests            - unittests and servertests"
136                          	$(USAGE)"unittests           - runs the unit functional test"
137                          	$(USAGE)"servertests         - runs basic server tests"
138 jim.wunderlich 1.35      	$(USAGE)"perftests           - runs basic server performance tests"
139 jim.wunderlich 1.34      	$(USAGE)"standardtests       - runs server extended tests"
140                          	$(USAGE)"testusage           - TestMakefile usage"
141                          	$(USAGE)"testusage2          - TestMakefile usage2"
142 j.alex         1.37      	$(USAGE)"stresstests         - Runs the default stresstests"
143 jim.wunderlich 1.34      	$(USAGE)
144                          	$(USAGE)"--------------------"
145                          	$(USAGE)"Quick start:"
146                          	$(USAGE)"  After checkout of new tree:"
147                          	$(USAGE)"  use \"make listplatforms\" to view a list of platforms"
148                          	$(USAGE)"  set PEGASUS_PLATFORM=<your platofrm>"
149                          	$(USAGE)"  set PEGASUS_ROOT=<location of your pegasus source>"
150                          	$(USAGE)"  set PEGASUS_HOME=<build output location"
151 kumpf          1.42      	$(USAGE)"  make world"
152 jim.wunderlich 1.34      	$(USAGE)
153                          	$(USAGE)"  This will build everthing with a default configuration"
154 kumpf          1.42      	$(USAGE)"  and run the automated tests."
155 jim.wunderlich 1.34      	$(USAGE)
156                          	$(USAGE)"--------------------"
157                          	$(USAGE)"Examples:"
158 kumpf          1.42      	$(USAGE)"  After \"cvs checkout\" of new tree:    make world"
159 jim.wunderlich 1.34      	$(USAGE)
160                          	$(USAGE)"  After changes to include files:      make"
161                          	$(USAGE)
162                          	$(USAGE)"  After changes to the files included: make build"
163                          	$(USAGE)
164 kumpf          1.42      	$(USAGE)"  After \"cvs update\" or to start over: make new world" 
165 jim.wunderlich 1.34      	$(USAGE)
166                          
167                          listplatforms: FORCE
168                          	$(USAGE)
169                          	$(USAGE)"The $(words $(VALID_PLATFORMS)) valid platforms are:"
170                          	$(USAGE)" $(foreach w, $(VALID_PLATFORMS), " $w ")"
171                          	$(USAGE)
172                          	$(USAGE)
173                          
174                          #########################################################################
175                          # This section defines any prerequisites that are required by the 
176                          # recursive rules.
177                          #
178                          # NOTE: You can add prerequisties for the recursive rules but you cannot
179                          #       add any commands to run as part of the rule. You can define them 
180                          #       and make will quietly ignore them and they will not be run either
181                          #       before or after the recursive rule. 
182                          #
183                          #
184                          messages: rootbundle
185 karl           1.6       
186 jim.wunderlich 1.34      depend: buildmu
187 kumpf          1.18      
188 jim.wunderlich 1.34      #########################################################################
189                          # This section defines combinational rules
190                          #
191 jim.wunderlich 1.32      #-----------------------
192 jim.wunderlich 1.34      # build target: builds all source
193 jim.wunderlich 1.32      #
194 jim.wunderlich 1.34      build: depend all setupdevserver
195 jim.wunderlich 1.32      
196 jim.wunderlich 1.34      #------------------------
197                          # rebuild target is being deprecated instead use "make new build"
198                          #
199                          rebuild_msg: FORCE
200                          	@$(ECHO) "==============================================================================="
201                          	@$(ECHO) "Makefile: The rebuild target is being deprecated." 
202                          	@$(ECHO) "          Use \"make usage\" for a description of the usage model."
203 kumpf          1.42      	@$(ECHO) "          Consider using \"make new world\" ."
204 jim.wunderlich 1.34      	@$(ECHO) "          Invoking the old rebuild rule now."
205                          	@$(ECHO) "==============================================================================="
206                          
207                          rebuild: rebuild_msg shortsleep new build s_unittests repository
208 jim.wunderlich 1.32      
209                          #-----------------------
210 jim.wunderlich 1.34      # new target: cleans everthing
211                          #
212                          # This can be combined on the command line with other rules like:
213 jim.wunderlich 1.32      #
214 jim.wunderlich 1.34      # make new build
215                          # make new world 
216 jim.wunderlich 1.32      
217 jim.wunderlich 1.34      new: clean repositoryclean
218 jim.wunderlich 1.32      
219                          #-----------------------
220 jim.wunderlich 1.34      # world targets: builds everything and dependent on which target may do testing
221 jim.wunderlich 1.32      #
222                          #       Typically used after a fresh checkout from CVS 
223 jim.wunderlich 1.34      
224                          world: build s_unittests servertests
225                          
226                          
227                          ############################
228                          #
229                          # rules defined in TestMakefile that are repeated here for convenience
230 jim.wunderlich 1.32      #
231 jim.wunderlich 1.34      shortsleep: FORCE
232                          	@$(MAKE)  -f TestMakefile shortsleep
233                          
234                          servertests: FORCE
235                          	@ $(MAKE) -f TestMakefile servertests
236                          
237 jim.wunderlich 1.35      perftests: FORCE
238                          	@ $(MAKE) -f TestMakefile perftests
239                          
240 jim.wunderlich 1.34      s_unittests: FORCE
241                          	@ $(MAKE) -f TestMakefile -s unittests
242                          
243                          unittests: FORCE
244                          	@ $(MAKE) -f TestMakefile unittests
245                          
246                          standardtests: FORCE
247                          	@ $(MAKE) -f TestMakefile standardtests
248                          
249                          alltests: FORCE
250                          	@ $(MAKE) -f TestMakefile alltests
251                          
252                          testusage: FORCE
253                          	@ $(MAKE) -f TestMakefile usage
254 jim.wunderlich 1.32      
255 jim.wunderlich 1.34      testusage2: FORCE
256                          	@ $(MAKE) -f TestMakefile usage2
257 mike           1.1       
258 j.alex         1.37      stresstests:
259                          	@$(ECHO) "Running OpenPegasus StressTests"
260                          	@$(MAKE)  -f TestMakefile stresstests
261                          	@$(ECHO) "+++++ OpenPegasus StressTests complete"
262 jim.wunderlich 1.35      
263 jim.wunderlich 1.34      ##########################################################################
264                          #
265                          # This section defines functional rules
266                          #
267 jim.wunderlich 1.32      #---------------------
268                          # buildmu target: build mu the make utility that among other things
269                          #                 includes depend
270                          buildmu: FORCE
271                          	$(MKDIRHIER) $(BIN_DIR)
272                          	$(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/mu -f Makefile
273                          
274                          #----------------------
275                          # setupdevserver and cleandevserver are used to setup and clear the 
276                          # server configuration files needed to run the server in a development
277                          # environment. 
278                          #
279                          setupdevserver: FORCE
280                          	$(MAKE) --directory=$(PEGASUS_ROOT)/src/Server -f Makefile install_run
281                          	@$(ECHO) "PEGASUS Development Server Runtime Environment configured "
282                          
283                          cleandevserver: FORCE
284                          	$(MAKE) --directory=$(PEGASUS_ROOT)/src/Server -f Makefile install_run_clean
285 karl           1.6       
286 jim.wunderlich 1.35      clobber: FORCE
287                          	- $(RMDIRHIER) $(PEGASUS_HOME)/bin
288                          	- $(RMDIRHIER) $(PEGASUS_HOME)/lib
289                          	- $(RMDIRHIER) $(PEGASUS_HOME)/obj
290                          
291 jim.wunderlich 1.34      
292                          #---------------------
293 karl           1.39      # The repository Target removes and rebuilds the base repository. It
294                          # does not remove all possible namespaces.  See
295                          # Schemas/Pegasus/Makefile for details. The repository clean has the
296                          # same limitation
297 mike           1.4       
298 kumpf          1.25      # Note: Arguments must be quoted to preserve upper case characters in VMS.
299 kumpf          1.18      repository: FORCE
300 kumpf          1.25      	@ $(MAKE) "-SC" Schemas/Pegasus repository
301 mike           1.9       
302 jim.wunderlich 1.29      repositoryclean: FORCE
303                          	@ $(RMREPOSITORY) $(REPOSITORY_ROOT)
304                          
305 kumpf          1.18      repositoryServer: FORCE
306 kumpf          1.25      	@ $(MAKE) "-SC" Schemas/Pegasus repositoryServer
307 kumpf          1.17      
308 kumpf          1.18      testrepository: FORCE
309 kumpf          1.25      	@ $(MAKE) "-SC" src/Providers/sample/Load repository
310                          	@ $(MAKE) "-SC" test/wetest repository
311                          	@ $(MAKE) "-SC" src/Clients/benchmarkTest/Load repository
312 chuck          1.26      	@ $(MAKE) "-SC" src/Pegasus/CQL/CQLCLI repository
313 chuck          1.27      	@ $(MAKE) "-SC" src/Pegasus/Query/QueryExpression/tests repository
314 kumpf          1.28      	@ $(MAKE) "-SC" src/Providers/TestProviders/Load repository
315 kumpf          1.43      ifndef PEGASUS_DISABLE_CQL
316 a.arora        1.30      	@ $(MAKE) "-SC" src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests repository
317 kumpf          1.43      endif
318 marek          1.38      ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
319                          	@ $(MAKE) "-SC" src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests repository
320                          endif
321 w.otsuka       1.40      	@ $(MAKE) --directory=$(PEGASUS_ROOT)/src/Clients/cimsub/tests/testscript \
322                                      -f Makefile repository
323 kumpf          1.17      
324 kumpf          1.18      testrepositoryServer: FORCE
325 kumpf          1.25      	@ $(MAKE) "-SC" src/Providers/sample/Load repositoryServer
326                          	@ $(MAKE) "-SC" test/wetest repositoryServer
327                          	@ $(MAKE) "-SC" src/Clients/benchmarkTest/Load repositoryServer
328 chuck          1.26      	@ $(MAKE) "-SC" src/Pegasus/CQL/CQLCLI repositoryServer
329 chuck          1.27      	@ $(MAKE) "-SC" src/Pegasus/Query/QueryExpression/tests repositoryServer
330 kumpf          1.28      	@ $(MAKE) "-SC" src/Providers/TestProviders/Load repositoryServer
331 kumpf          1.43      ifndef PEGASUS_DISABLE_CQL
332 a.arora        1.30      	@ $(MAKE) "-SC" src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests repositoryServer
333 kumpf          1.43      endif
334 marek          1.38      ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
335                          	@ $(MAKE) "-SC" src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests repositoryServer
336                          endif
337 w.otsuka       1.40      	@ $(MAKE) --directory=$(PEGASUS_ROOT)/src/Clients/cimsub/tests/testscript \
338                                      -f Makefile repositoryServer
339 kumpf          1.16      
340 kumpf          1.18      removetestrepository: FORCE
341 kumpf          1.25      	@ $(MAKE) "-SC" src/Providers/sample/Load removerepository
342                          	@ $(MAKE) "-SC" test/wetest removerepository
343                          	@ $(MAKE) "-SC" src/Clients/benchmarkTest/Load removerepository
344 kumpf          1.28      	@ $(MAKE) "-SC" src/Providers/TestProviders/Load removerepository
345 w.otsuka       1.40      	@ $(MAKE) "-SC" src/Clients/cimsub/tests/testscript removerepository
346 karl           1.15      
347 konrad.r       1.24      config:
348                          	@ $(ROOT)/SetConfig_EnvVar
349                          
350 humberto       1.21      rootbundle: 
351                          	$(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/cnv2rootbundle -f Makefile

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2