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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2