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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2