(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 konrad.r       1.23 DIRS = src test rpm 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                     	$(USAGE)"repository          - builds the base repository"
 88                     	$(USAGE)"testrepository      - builds items for the test suites into the repository"
 89                     	$(USAGE)"removetestrepository- removes test items from the repository"
 90                     	$(USAGE)"repositoryclean     - cleans the repository"
 91                     	$(USAGE)"listplatforms       - List all valid platforms"
 92                     	$(USAGE)
 93                     	$(USAGE)"Test rules (accessable here but implemented in TestMakefile)"
 94                     	$(USAGE)"alltests            - unittests and servertests"
 95                     	$(USAGE)"unittests           - runs the unit functional test"
 96                     	$(USAGE)"serverquicktests    - runs quick server tests"
 97                     	$(USAGE)"servertests         - runs basic server tests"
 98 jim.wunderlich 1.35 	$(USAGE)"perftests           - runs basic server performance tests"
 99 jim.wunderlich 1.34 	$(USAGE)"standardtests       - runs server extended tests"
100                     	$(USAGE)"testusage           - TestMakefile usage"
101                     	$(USAGE)"testusage2          - TestMakefile usage2"
102 j.alex         1.36.4.1 	$(USAGE)"stresstests         - runs the default stresstests"
103 jim.wunderlich 1.34     	$(USAGE)
104                         	$(USAGE)"--------------------"
105                         	$(USAGE)"Quick start:"
106                         	$(USAGE)"  After checkout of new tree:"
107                         	$(USAGE)"  use \"make listplatforms\" to view a list of platforms"
108                         	$(USAGE)"  set PEGASUS_PLATFORM=<your platofrm>"
109                         	$(USAGE)"  set PEGASUS_ROOT=<location of your pegasus source>"
110                         	$(USAGE)"  set PEGASUS_HOME=<build output location"
111                         	$(USAGE)"  make smallworld"
112                         	$(USAGE)
113                         	$(USAGE)"  This will build everthing with a default configuration"
114                         	$(USAGE)"  and run some tests."
115                         	$(USAGE)
116                         	$(USAGE)"  For a more extensive test use \"make world\""
117                         	$(USAGE)
118                         	$(USAGE)"--------------------"
119                         	$(USAGE)"Examples:"
120                         	$(USAGE)"  After \"cvs checkout\" of new tree:    make smallworld"
121                         	$(USAGE)"                          OR           make world"
122                         	$(USAGE)
123                         	$(USAGE)"  After changes to include files:      make"
124 jim.wunderlich 1.34     	$(USAGE)
125                         	$(USAGE)"  After changes to the files included: make build"
126                         	$(USAGE)
127                         	$(USAGE)"  After \"cvs update\" or to start over: make new smallworld" 
128                         	$(USAGE)"                          OR           make new world"
129                         	$(USAGE)
130                         
131                         listplatforms: FORCE
132                         	$(USAGE)
133                         	$(USAGE)"The $(words $(VALID_PLATFORMS)) valid platforms are:"
134                         	$(USAGE)" $(foreach w, $(VALID_PLATFORMS), " $w ")"
135                         	$(USAGE)
136                         	$(USAGE)
137                         
138                         #########################################################################
139                         # This section defines any prerequisites that are required by the 
140                         # recursive rules.
141                         #
142                         # NOTE: You can add prerequisties for the recursive rules but you cannot
143                         #       add any commands to run as part of the rule. You can define them 
144                         #       and make will quietly ignore them and they will not be run either
145 jim.wunderlich 1.34     #       before or after the recursive rule. 
146                         #
147                         #
148                         messages: rootbundle
149 karl           1.6      
150 jim.wunderlich 1.34     depend: buildmu
151 kumpf          1.18     
152 jim.wunderlich 1.34     #########################################################################
153                         # This section defines combinational rules
154                         #
155 jim.wunderlich 1.32     #-----------------------
156 jim.wunderlich 1.34     # build target: builds all source
157 jim.wunderlich 1.32     #
158 jim.wunderlich 1.34     build: depend all setupdevserver
159 jim.wunderlich 1.32     
160 jim.wunderlich 1.34     #------------------------
161                         # rebuild target is being deprecated instead use "make new build"
162                         #
163                         rebuild_msg: FORCE
164                         	@$(ECHO) "==============================================================================="
165                         	@$(ECHO) "Makefile: The rebuild target is being deprecated." 
166                         	@$(ECHO) "          Use \"make usage\" for a description of the usage model."
167                         	@$(ECHO) "          Consider using \"make new smallworld\" ."
168                         	@$(ECHO) "          Invoking the old rebuild rule now."
169                         	@$(ECHO) "==============================================================================="
170                         
171                         rebuild: rebuild_msg shortsleep new build s_unittests repository
172 jim.wunderlich 1.32     
173                         #-----------------------
174 jim.wunderlich 1.34     # new target: cleans everthing
175                         #
176                         # This can be combined on the command line with other rules like:
177 jim.wunderlich 1.32     #
178 jim.wunderlich 1.34     # make new build
179                         # make new world 
180 jim.wunderlich 1.32     
181 jim.wunderlich 1.34     new: clean repositoryclean
182 jim.wunderlich 1.32     
183                         #-----------------------
184 jim.wunderlich 1.34     # world targets: builds everything and dependent on which target may do testing
185 jim.wunderlich 1.32     #
186                         #       Typically used after a fresh checkout from CVS 
187 jim.wunderlich 1.34     
188                         smallworld: build s_unittests serverquicktests
189                         
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                         serverquicktests: FORCE
216                         	@ $(MAKE) -f TestMakefile serverquicktests
217                         
218                         alltests: FORCE
219                         	@ $(MAKE) -f TestMakefile alltests
220                         
221                         testusage: FORCE
222                         	@ $(MAKE) -f TestMakefile usage
223 jim.wunderlich 1.32     
224 jim.wunderlich 1.34     testusage2: FORCE
225                         	@ $(MAKE) -f TestMakefile usage2
226 mike           1.1      
227 j.alex         1.36.4.1 stresstests:
228                         	@$(MAKE) "-SC" test/StressTests clean 
229                         	@$(ECHO) "Building PEGASUS StressTests"
230                         	@$(MAKE) "-SC" test/StressTests
231                         	@$(MAKE) "-SC" test/StressTests/testClient clean
232                         	@$(MAKE) "-SC" test/StressTests/testClient
233                         	@$(MAKE) "-SC" test/StressTests/testClient/ModelWalkStressClient clean
234                         	@$(MAKE) "-SC" test/StressTests/testClient/ModelWalkStressClient 
235                         	@$(MAKE) "-SC" test/StressTests/testClient/WrapperStressClient clean
236                         	@$(MAKE) "-SC" test/StressTests/testClient/WrapperStressClient
237                         	@$(MAKE) "-SC" test/StressTests/tests stresstests
238                         
239 jim.wunderlich 1.34     
240 jim.wunderlich 1.35     
241 jim.wunderlich 1.34     ##########################################################################
242                         #
243                         # This section defines functional rules
244                         #
245 jim.wunderlich 1.32     #---------------------
246                         # buildmu target: build mu the make utility that among other things
247                         #                 includes depend
248                         buildmu: FORCE
249                         	$(MKDIRHIER) $(BIN_DIR)
250                         	$(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/mu -f Makefile
251                         
252                         #----------------------
253                         # setupdevserver and cleandevserver are used to setup and clear the 
254                         # server configuration files needed to run the server in a development
255                         # environment. 
256                         #
257                         setupdevserver: FORCE
258                         	$(MAKE) --directory=$(PEGASUS_ROOT)/src/Server -f Makefile install_run
259                         	@$(ECHO) "PEGASUS Development Server Runtime Environment configured "
260                         
261                         cleandevserver: FORCE
262                         	$(MAKE) --directory=$(PEGASUS_ROOT)/src/Server -f Makefile install_run_clean
263 karl           1.6      
264 jim.wunderlich 1.35     clobber: FORCE
265                         	- $(RMDIRHIER) $(PEGASUS_HOME)/bin
266                         	- $(RMDIRHIER) $(PEGASUS_HOME)/lib
267                         	- $(RMDIRHIER) $(PEGASUS_HOME)/obj
268                         
269 jim.wunderlich 1.34     
270                         #---------------------
271 karl           1.6      # The repository Target removes and rebuilds the CIM repository
272 mike           1.4      
273 kumpf          1.25     # Note: Arguments must be quoted to preserve upper case characters in VMS.
274 kumpf          1.18     repository: FORCE
275 kumpf          1.25     	@ $(MAKE) "-SC" Schemas/Pegasus repository
276 mike           1.9      
277 jim.wunderlich 1.29     repositoryclean: FORCE
278                         	@ $(RMREPOSITORY) $(REPOSITORY_ROOT)
279                         
280 kumpf          1.18     repositoryServer: FORCE
281 kumpf          1.25     	@ $(MAKE) "-SC" Schemas/Pegasus repositoryServer
282 kumpf          1.17     
283 kumpf          1.18     testrepository: FORCE
284 kumpf          1.25     	@ $(MAKE) "-SC" src/Providers/sample/Load repository
285                         	@ $(MAKE) "-SC" test/wetest repository
286                         	@ $(MAKE) "-SC" src/Clients/benchmarkTest/Load repository
287 chuck          1.26     	@ $(MAKE) "-SC" src/Pegasus/CQL/CQLCLI repository
288 chuck          1.27     	@ $(MAKE) "-SC" src/Pegasus/Query/QueryExpression/tests repository
289 kumpf          1.28     	@ $(MAKE) "-SC" src/Providers/TestProviders/Load repository
290 a.arora        1.30     	@ $(MAKE) "-SC" src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests 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 kumpf          1.16     
301 kumpf          1.18     removetestrepository: FORCE
302 kumpf          1.25     	@ $(MAKE) "-SC" src/Providers/sample/Load removerepository
303                         	@ $(MAKE) "-SC" test/wetest removerepository
304                         	@ $(MAKE) "-SC" src/Clients/benchmarkTest/Load removerepository
305 kumpf          1.28     	@ $(MAKE) "-SC" src/Providers/TestProviders/Load removerepository
306 karl           1.15     
307 konrad.r       1.24     config:
308                         	@ $(ROOT)/SetConfig_EnvVar
309                         
310 humberto       1.21     rootbundle: 
311                         	$(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/cnv2rootbundle -f Makefile
312                         
313 jim.wunderlich 1.34     

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2