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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2