Add 'upgrade' and 'cleancache' targets
Stefan Bund [Wed, 4 Aug 2010 09:38:44 +0000 (11:38 +0200)]
Makefile.master

index c90ff03..136a906 100644 (file)
@@ -96,42 +96,34 @@ shorthelp::
        @echo "MAIN TARGETS"
        @echo
        @echo "    shorthelp"
-       @echo "        Summary of important targets"
-       @echo
        @echo "    help"
-       @echo "        Complete list of user-targets"
+       @echo "        Summary of important / all user targets"
        @echo
        @echo "    debdepends"
        @echo "        Install debian packages via 'aptitude' needed to satisy build"
        @echo "        dependencies. MUST BE CALLED AS ROOT (e.g. with sudo)."
        @echo
        @echo "    init"
+       @echo "    init-nonet"
        @echo "        Initialize buildout. Call this to either bootstrap a new project"
        @echo "        or to initialize a new working copy. Missing packages will be"
-       @echo "        downloaded from the internet."
-       @echo
-       @echo "    init-nonet"
-       @echo "        Initialize buildout from cache. Like 'init' but does not download"
-       @echo "        any packages from the internet. Needs an up-to-date download cache."
+       @echo "        downloaded from the internet (init target) or from an up-to-date"
+       @echo "        download cache (init-nonet). The download cache normaly resides in"
+       @echo "        './dlcache'"
        @echo
        @echo "    update"
-       @echo "        Update the buildout (calls './bin/buildout'). This target may need"
-       @echo "        network access."
-       @echo
        @echo "    update-nonet"
-       @echo "        Update the buildout (calls './bin/buildout -No') with no network"
-       @echo "        access."
+       @echo "        Update the buildout. Calls './bin/buildout' (update target) or "
+       @echo "        './bin/buildout -No (update-nonet target)."
        @echo
        @echo "    shell"
        @echo "        Spawn an interactive subshell with the environment set up correctly"
        @echo "        for the local buildout."
        @echo
-       @echo "    versions"
-       @echo "        Generate lines to be added to 'buildout.cfg' to pin all package"
-       @echo "        versions."
-       @echo
        @echo "    clean"
-       @echo "        Remove all generated files."
+       @echo "        Remove all unimportant (!) generated files. This target will leave"
+       @echo "        only those files which are to be checked into version control."
+       @echo "        calling 'make init' or 'make init-nonet' will rebuild the buildout."
        @echo
 .PHONY: shorthelp
 
@@ -139,6 +131,21 @@ help:: shorthelp
        @echo
        @echo "SECONDARY TARGETS"
        @echo
+       @echo "    versions"
+       @echo "        Generate lines to be added to 'buildout.cfg' to pin all package"
+       @echo "        versions."
+       @echo
+       @echo "    cleancache"
+       @echo "        purge the download cache"
+       @echo
+       @echo "    upgrade"
+       @echo "        Reinitializes the buildout. This is like calling"
+       @echo "        'make clean cleancache init'. Use this target to upgrade to a new"
+       @echo "        python or extension (e.g. PIL) version (after changing the version"
+       @echo "        in the project Makefile) or to upgrade the component eggs. This"
+       @echo "        target purges the download cache to ensure, no obsolete files are"
+       @echo "        left."
+       @echo
 
 debdepends::
 .PHONY: debdepends
@@ -194,7 +201,7 @@ endef
        @echo "Updating .env."
 
 clean::
-       rm -f .gitignore .env
+       rm -f .env
 .PHONY: clean
 
 ###########################################################################
@@ -218,3 +225,10 @@ shell:
 
 update-nonet: update
 .PHONY: update-nonet
+
+cleancache:
+       rm -rf $(DLCACHE)/*
+.PHONY: cleancache
+
+upgrade: clean cleancache init
+.PHONY: upgrade