X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=Makefile;h=4aa324e34226d2b3ad0b1e93b6519350a66e0757;hb=HEAD;hp=7eabed57f86317b87f2e045fcb5b6f6da78a0dd7;hpb=10941f2944ffd270df63f6012c4934cfcd86623d;p=tpot%2Fpegasus.git.bak%2Fpegasus.git diff --git a/Makefile b/Makefile index 7eabed57f..4aa324e34 100644 --- a/Makefile +++ b/Makefile @@ -1,41 +1,267 @@ +#//%LICENSE//////////////////////////////////////////////////////////////// +#// +#// Licensed to The Open Group (TOG) under one or more contributor license +#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with +#// this work for additional information regarding copyright ownership. +#// Each contributor licenses this file to you under the OpenPegasus Open +#// Source License; you may not use this file except in compliance with the +#// License. +#// +#// Permission is hereby granted, free of charge, to any person obtaining a +#// copy of this software and associated documentation files (the "Software"), +#// to deal in the Software without restriction, including without limitation +#// the rights to use, copy, modify, merge, publish, distribute, sublicense, +#// and/or sell copies of the Software, and to permit persons to whom the +#// Software is furnished to do so, subject to the following conditions: +#// +#// The above copyright notice and this permission notice shall be included +#// in all copies or substantial portions of 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 -# options are -# Make rebuild -# Make world -# Make tests - Executes the complete test suite -# Make repository - Rebuilds the Pegasus repository -# +# see the usage rule for options + ROOT = . include $(ROOT)/env_var.status 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 -# Defines subdirectorys to go to recursively +# Defines subdirectories to go to recursively + +DIRS = src -# DIRS = src cgi -DIRS = src test rpm Schemas +TEST_DIRS = test # Define the inclusion of the recurse.mak file to execute the next # level of makefiles defined by the DIRS variable +defaultrule: all setupdevserver + include $(ROOT)/mak/recurse.mak -# rebuild target cleans, setup dependencies, compiles all and builds -# repository +.PHONY: FORCE FORCE: -rebuild: clean depend all repository - @ $(MAKE) -s tests +usage: FORCE + $(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=" + $(USAGE)" set PEGASUS_ROOT=" + $(USAGE)" set PEGASUS_HOME=