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

Diff for /pegasus/Makefile between version 1.32 and 1.53

version 1.32, 2005/10/10 00:39:04 version 1.53, 2010/02/18 01:47:27
Line 1 
Line 1 
 #//%2005////////////////////////////////////////////////////////////////////////  #//%LICENSE////////////////////////////////////////////////////////////////
 #// #//
 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  #// Licensed to The Open Group (TOG) under one or more contributor license
 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  #// this work for additional information regarding copyright ownership.
 #// IBM Corp.; EMC Corporation, The Open Group.  #// Each contributor licenses this file to you under the OpenPegasus Open
 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  #// Source License; you may not use this file except in compliance with the
 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  #// License.
 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 #// EMC Corporation; VERITAS Software Corporation; The Open Group.  
 #// #//
 #// Permission is hereby granted, free of charge, to any person obtaining a copy  #// Permission is hereby granted, free of charge, to any person obtaining a
 #// of this software and associated documentation files (the "Software"), to  #// copy of this software and associated documentation files (the "Software"),
 #// deal in the Software without restriction, including without limitation the  #// to deal in the Software without restriction, including without limitation
 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 #// sell copies of the Software, and to permit persons to whom the Software is  #// and/or sell copies of the Software, and to permit persons to whom the
 #// furnished to do so, subject to the following conditions:  #// Software is furnished to do so, subject to the following conditions:
 #// #//
 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  #// The above copyright notice and this permission notice shall be included
 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  #// in all copies or substantial portions of the Software.
 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  
 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  
 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  
 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
 #// #//
 #//==============================================================================  #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   #//
   #//////////////////////////////////////////////////////////////////////////
 # Pegasus top level make file # Pegasus top level make file
 # options are  # see the usage rule for options
 # Make rebuild  
 # Make world  
 # Make tests - Executes the complete test suite  
 # Make repository - Rebuilds the Pegasus repository  
 #  
 ROOT = . ROOT = .
  
 include $(ROOT)/env_var.status include $(ROOT)/env_var.status
 include $(ROOT)/mak/config.mak include $(ROOT)/mak/config.mak
  
   ## Include mu in the clean structure
   ## This required because mu is not part of the hiearchial build
   ##structure.  It is built with the buildmu target.  Adding this
   ## variable allows it to be cleaned with the normal clean target.
   RECURSE_EXTRA_CLEAN_DIRS += src/utils/mu
   
 # This is a recurse make file # This is a recurse make file
 # Defines subdirectorys to go to recursively  # Defines subdirectories to go to recursively
   
   DIRS = src
  
 # DIRS = src cgi  TEST_DIRS = test
 DIRS = src test rpm Schemas  
  
 # Define the inclusion of the recurse.mak file to execute the next # Define the inclusion of the recurse.mak file to execute the next
 # level of makefiles defined by the DIRS variable # level of makefiles defined by the DIRS variable
  
 include $(ROOT)/mak/recurse.mak  defaultrule: all setupdevserver
   
  
   include $(ROOT)/mak/recurse.mak
  
 .PHONY: FORCE .PHONY: FORCE
  
 FORCE: FORCE:
  
 #-----------------------  usage: FORCE
 # build target: builds all source and runs the test          $(USAGE)
           $(USAGE)"Makefile targets:"
           $(USAGE)
           $(USAGE)"Recursive rules - These are the primatives that traverse the tree"
           $(USAGE)"invoking the specified command in each subdirectory directory."
           $(USAGE)"NOTE: all is special, it specifies no target and therefore invokes"
           $(USAGE)"the default rule for that directory."
           $(USAGE)"all                 - recursive DEFAULT rule"
           $(USAGE)"clean               - recursive clean"
           $(USAGE)"depend              - buildmu recursive depend"
           $(USAGE)"messages            - rootbundle recursive messages"
           $(USAGE)"tests               - recursive tests"
           $(USAGE)"poststarttests      - recursive poststarttests"
           $(USAGE)
           $(USAGE)"Combinational rules - Combine other rules to achieve results"
           $(USAGE)"DEFAULT RULE        - all, setupdevserver"
           $(USAGE)"new                 - clean repositoryclean"
           $(USAGE)"build               - depend all, setupdevserver"
           $(USAGE)"world               - build unittests servertests"
           $(USAGE)
           $(USAGE)"Functional rules - Other rules to achieve specified results"
           $(USAGE)"clobber             -removes objects built during compile"
           $(USAGE)"                     specifically the following directories are removed:"
           $(USAGE)"                      $(PEGASUS_HOME)/bin"
           $(USAGE)"                      $(PEGASUS_HOME)/lib"
           $(USAGE)"                      $(PEGASUS_HOME)/obj"
           $(USAGE)"buildmu             - builds the mu utility"
           $(USAGE)"setupdevserver      - setup the development server env"
           $(USAGE)"cleandevserver      - cleans the development server env"
           $(USAGE)"repository          - builds the base repository. Does not remove other"
           $(USAGE)"                      namespaces than the base namespaces."
           $(USAGE)"testrepository      - builds items for the test suites into the repository"
           $(USAGE)"repositoryclean     - removes the complete repository"
           $(USAGE)"listplatforms       - List all valid platforms"
           $(USAGE)
           $(USAGE)"Test rules (accessable here but implemented in TestMakefile)"
           $(USAGE)"alltests            - unittests and servertests"
           $(USAGE)"unittests           - runs the unit functional test"
           $(USAGE)"servertests         - runs basic server tests"
           $(USAGE)"perftests           - runs basic server performance tests"
           $(USAGE)"standardtests       - runs server extended tests"
           $(USAGE)"testusage           - TestMakefile usage"
           $(USAGE)"testusage2          - TestMakefile usage2"
           $(USAGE)"stresstests         - Runs the default stresstests"
           $(USAGE)
           $(USAGE)"--------------------"
           $(USAGE)"Quick start:"
           $(USAGE)"  After checkout of new tree:"
           $(USAGE)"  use \"make listplatforms\" to view a list of platforms"
           $(USAGE)"  set PEGASUS_PLATFORM=<your platofrm>"
           $(USAGE)"  set PEGASUS_ROOT=<location of your pegasus source>"
           $(USAGE)"  set PEGASUS_HOME=<build output location"
           $(USAGE)"  make world"
           $(USAGE)
           $(USAGE)"  This will build everthing with a default configuration"
           $(USAGE)"  and run the automated tests."
           $(USAGE)
           $(USAGE)"--------------------"
           $(USAGE)"Examples:"
           $(USAGE)"  After \"cvs checkout\" of new tree:    make world"
           $(USAGE)
           $(USAGE)"  After changes to include files:      make"
           $(USAGE)
           $(USAGE)"  After changes to the files included: make build"
           $(USAGE)
           $(USAGE)"  After \"cvs update\" or to start over: make new world"
           $(USAGE)
   
   listplatforms: FORCE
           $(USAGE)
           $(USAGE)"The $(words $(VALID_PLATFORMS)) valid platforms are:"
           $(USAGE)" $(foreach w, $(VALID_PLATFORMS), " $w ")"
           $(USAGE)
           $(USAGE)
   
   #########################################################################
   # This section defines any prerequisites that are required by the
   # recursive rules.
   #
   # NOTE: You can add prerequisties for the recursive rules but you cannot
   #       add any commands to run as part of the rule. You can define them
   #       and make will quietly ignore them and they will not be run either
   #       before or after the recursive rule.
   #
 # #
 #                 builds mu utility,  messages: rootbundle
 #                 compiles all,  
 #                 sets up the dev server env  
  
 build: all setupdevserver  depend: buildmu
         @ $(MAKE) -s tests  
  
   #########################################################################
   # This section defines combinational rules
   #
 #----------------------- #-----------------------
 # rebuild target: cleans and and then builds everything and runs tests  # build target: builds all source
 # #
   build: depend all setupdevserver
  
   #------------------------
   # rebuild target is being deprecated instead use "make new build"
   #
   rebuild_msg: FORCE
           @$(ECHO) "==============================================================================="
           @$(ECHO) "Makefile: The rebuild target is being deprecated."
           @$(ECHO) "          Use \"make usage\" for a description of the usage model."
           @$(ECHO) "          Consider using \"make new world\" ."
           @$(ECHO) "          Invoking the old rebuild rule now."
           @$(ECHO) "==============================================================================="
  
 rebuild: clean repositoryclean world  rebuild: rebuild_msg shortsleep new build s_unittests repository
  
 #----------------------- #-----------------------
 # world target: builds everything and runs tests  # new target: cleans everthing
   #
   # This can be combined on the command line with other rules like:
   #
   # make new build
   # make new world
   
   new: clean repositoryclean
   
   #-----------------------
   # world targets: builds everything and dependent on which target may do testing
 # #
 #       Typically used after a fresh checkout from CVS #       Typically used after a fresh checkout from CVS
   
   world: build s_unittests servertests
   
   
   ############################
 # #
 #                 builds mu utility,  # rules defined in TestMakefile that are repeated here for convenience
 #                 builds dependencies,  #
 #                 compiles all  shortsleep: FORCE
 #                 sets up the dev server env,          @$(MAKE)  -f TestMakefile shortsleep
 #                 builds repository,  
 #                 runs the unit tests  servertests: FORCE
           @ $(MAKE) -f TestMakefile servertests
   
   perftests: FORCE
           @ $(MAKE) -f TestMakefile perftests
   
   s_unittests: FORCE
           @ $(MAKE) -f TestMakefile -s unittests
   
   unittests: FORCE
           @ $(MAKE) -f TestMakefile unittests
   
   standardtests: FORCE
           @ $(MAKE) -f TestMakefile standardtests
  
 world: buildmu depend all setupdevserver repository  alltests: FORCE
         @ $(MAKE) -s tests          @ $(MAKE) -f TestMakefile alltests
  
   testusage: FORCE
           @ $(MAKE) -f TestMakefile usage
   
   testusage2: FORCE
           @ $(MAKE) -f TestMakefile usage2
   
   stresstests:
           @$(ECHO) "Running OpenPegasus StressTests"
           @$(MAKE)  -f TestMakefile stresstests
           @$(ECHO) "+++++ OpenPegasus StressTests complete"
   
   ##########################################################################
   #
   # This section defines functional rules
   #
 #--------------------- #---------------------
 # buildmu target: build mu the make utility that among other things # buildmu target: build mu the make utility that among other things
 #                 includes depend  # includes a depend implementation. This is a separate target because
   # it must be build before anything else and before the depend target is used
   # on some platforms. Note that mu is not used on all platforms.
   #
 buildmu: FORCE buildmu: FORCE
         $(MKDIRHIER) $(BIN_DIR)  
         $(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/mu -f Makefile         $(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/mu -f Makefile
  
 #---------------------- #----------------------
Line 106 
Line 248 
 cleandevserver: FORCE cleandevserver: FORCE
         $(MAKE) --directory=$(PEGASUS_ROOT)/src/Server -f Makefile install_run_clean         $(MAKE) --directory=$(PEGASUS_ROOT)/src/Server -f Makefile install_run_clean
  
 # The repository Target removes and rebuilds the CIM repository  clobber: FORCE
           - $(RMDIRHIER) $(PEGASUS_HOME)/bin
           - $(RMDIRHIER) $(PEGASUS_HOME)/lib
           - $(RMDIRHIER) $(PEGASUS_HOME)/obj
   
   
   #---------------------
   # The repository target removes the entire repository and rebuilds the Pegasus
   # namespaces.  The repositoryServer target does not remove the repository
   # before building the Pegasus namespaces.  (The repositoryServer target in
   # TestMakefile *does* remove the repository first.)
  
 # Note: Arguments must be quoted to preserve upper case characters in VMS. # Note: Arguments must be quoted to preserve upper case characters in VMS.
 repository: FORCE  repository: repositoryclean
         @ $(MAKE) "-SC" Schemas/Pegasus repository         @ $(MAKE) "-SC" Schemas/Pegasus repository
  
 repositoryclean: FORCE repositoryclean: FORCE
Line 118 
Line 270 
 repositoryServer: FORCE repositoryServer: FORCE
         @ $(MAKE) "-SC" Schemas/Pegasus repositoryServer         @ $(MAKE) "-SC" Schemas/Pegasus repositoryServer
  
   #---------------------
   # The testrepository and testrepositoryServer targets build the Pegasus test
   # namespaces.  A pre-existing repository is not removed.
   
 testrepository: FORCE testrepository: FORCE
         @ $(MAKE) "-SC" src/Providers/sample/Load repository         @ $(MAKE) "-SC" src/Providers/sample/Load repository
         @ $(MAKE) "-SC" test/wetest repository         @ $(MAKE) "-SC" test/wetest repository
Line 125 
Line 281 
         @ $(MAKE) "-SC" src/Pegasus/CQL/CQLCLI repository         @ $(MAKE) "-SC" src/Pegasus/CQL/CQLCLI repository
         @ $(MAKE) "-SC" src/Pegasus/Query/QueryExpression/tests repository         @ $(MAKE) "-SC" src/Pegasus/Query/QueryExpression/tests repository
         @ $(MAKE) "-SC" src/Providers/TestProviders/Load repository         @ $(MAKE) "-SC" src/Providers/TestProviders/Load repository
   ifeq ($(PEGASUS_ENABLE_CQL),true)
         @ $(MAKE) "-SC" src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests repository         @ $(MAKE) "-SC" src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests repository
   endif
   ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
           @ $(MAKE) "-SC" src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests repository
   endif
           @ $(MAKE) --directory=$(PEGASUS_ROOT)/src/Clients/cimsub/tests/testscript \
               -f Makefile repository
  
 testrepositoryServer: FORCE testrepositoryServer: FORCE
         @ $(MAKE) "-SC" src/Providers/sample/Load repositoryServer         @ $(MAKE) "-SC" src/Providers/sample/Load repositoryServer
Line 134 
Line 297 
         @ $(MAKE) "-SC" src/Pegasus/CQL/CQLCLI repositoryServer         @ $(MAKE) "-SC" src/Pegasus/CQL/CQLCLI repositoryServer
         @ $(MAKE) "-SC" src/Pegasus/Query/QueryExpression/tests repositoryServer         @ $(MAKE) "-SC" src/Pegasus/Query/QueryExpression/tests repositoryServer
         @ $(MAKE) "-SC" src/Providers/TestProviders/Load repositoryServer         @ $(MAKE) "-SC" src/Providers/TestProviders/Load repositoryServer
   ifeq ($(PEGASUS_ENABLE_CQL),true)
         @ $(MAKE) "-SC" src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests repositoryServer         @ $(MAKE) "-SC" src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests repositoryServer
   endif
 removetestrepository: FORCE  ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER), true)
         @ $(MAKE) "-SC" src/Providers/sample/Load removerepository          @ $(MAKE) "-SC" src/Pegasus/ProviderManager2/JMPI/org/pegasus/jmpi/tests repositoryServer
         @ $(MAKE) "-SC" test/wetest removerepository  endif
         @ $(MAKE) "-SC" src/Clients/benchmarkTest/Load removerepository          @ $(MAKE) --directory=$(PEGASUS_ROOT)/src/Clients/cimsub/tests/testscript \
         @ $(MAKE) "-SC" src/Providers/TestProviders/Load removerepository              -f Makefile repositoryServer
   
 config:  
         @ $(ROOT)/SetConfig_EnvVar  
   
 messages: rootbundle  
  
 rootbundle: rootbundle:
         $(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/cnv2rootbundle -f Makefile         $(MAKE) --directory=$(PEGASUS_ROOT)/src/utils/cnv2rootbundle -f Makefile
   
 # the collections of tests that we run with the server active.  
 # For now, these are centralized and do not include startup  
 # and shutdown of the server.  
   
 activetests: FORCE  
         $(MAKE) --directory=$(PEGASUS_ROOT)/test -f Makefile clean  
         $(PEGASUS_ROOT)/bin/TestClient  
         $(PEGASUS_ROOT)/bin/Client  
         $(MAKE) --directory=$(PEGASUS_ROOT)/test -f Makefile tests  


Legend:
Removed from v.1.32  
changed lines
  Added in v.1.53

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2