commit:     fd098efcebdad3a92d40bcd00278d7011bd31404
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Mon Mar 31 17:31:49 2014 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Tue Apr  1 16:36:36 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=fd098efc

Makefile: parallel generate-config

---
 Makefile | 81 ++++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 58 insertions(+), 23 deletions(-)

diff --git a/Makefile b/Makefile
index 5f5ac2c..9a41011 100644
--- a/Makefile
+++ b/Makefile
@@ -37,43 +37,36 @@ SRC_DOCDIR    := ./doc
 
 SELFDOC       := $(SRC_DOCDIR)/pydoc
 
-.PHONY: default \
-       clean clean-log _pyclean _pydoc_clean distclean \
-       docs pydoc htmldoc \
-       check test \
-       generate-files \
-               generate-config generate-doc generate-manifest \
-       release dist \
-       compress-config \
-       install-all install \
-               install-roverlay install-pymodules \
-               install-data install-config-common \
-               install-config-compressed install-config \
-       uninstall-all uninstall \
-               uninstall-roverlay uninstall-pymodules
-
+PHONY += default
 default:
        @false
 
+PHONY += check
 check:
        @true
 
+PHONY += test
 test: ./bin/run_tests
        ./bin/run_tests
 
+PHONY += clean
 clean:
        rm -rf ./build/ $(BUILDDIR)/
 
+PHONY += clean-log
 clean-log:
        rm -rf -- $(LOGDIR)
 
+PHONY += _pyclean
 _pyclean:
        find . \( -name "*.pyc" -or -name "*.pyo" \) -delete -print
 
+PHONY += _pydoc_clean
 _pydoc_clean:
        rm -f -- $(SELFDOC)/*.html
        ! test -d $(SELFDOC) || rmdir --ignore-fail-on-non-empty -- $(SELFDOC)/
 
+PHONY += distclean
 distclean: clean _pyclean _pydoc_clean
 
 $(BUILDDIR):
@@ -86,60 +79,89 @@ $(SELFDOC):
        $(PYDOC_SH) $(SELFDOC)
 
 # alias to $(SELFDOC)
+PHONY += pydoc
 pydoc: $(SELFDOC)
 
+PHONY += htmldoc
 htmldoc: $(SRC_DOCDIR)/rst/usage.rst
        @install -d $(SRC_DOCDIR)/html
        $(RST_HTML) $(SRC_DOCDIR)/rst/usage.rst $(SRC_DOCDIR)/html/usage.html
 
+PHONY += generate-doc
 generate-doc: htmldoc
 
+PHONY += generate-manifest
 generate-manifest: $(MANIFEST_GEN)
        $(MANIFEST_GEN) > $(MANIFEST_TMP)
        mv -- $(MANIFEST_TMP) $(MANIFEST)
 
-generate-config: $(RV_SETUP)
-       ROVERLAY_INSTALLED=1 $(RV_SETUP) \
-               -O config/R-overlay.conf.install \
+
+$(CURDIR)/config/R-overlay.conf.install: $(RV_SETUP) FORCE | $(CURDIR)/config
+       ROVERLAY_INSTALLED=1 $< --target-type gentoo \
+               -O $@ \
                -D $(DATADIR)/roverlay \
                --conf-root $(CONFDIR)/roverlay --my-conf-root 
$(CONFDIR)/roverlay \
                -A $(CONFDIR)/roverlay/files \
                mkconfig
 
-       ROVERLAY_INSTALLED=0 $(RV_SETUP) \
-               -O R-overlay.conf --prjroot-relpath \
+$(CURDIR)/config/R-overlay.conf.install.others: $(RV_SETUP) FORCE | 
$(CURDIR)/config
+       ROVERLAY_INSTALLED=1 $< --target-type foreign \
+               -O $@ \
+               -D $(DATADIR)/roverlay \
+               --conf-root $(CONFDIR)/roverlay --my-conf-root 
$(CONFDIR)/roverlay \
+               -A $(CONFDIR)/roverlay/files \
+               mkconfig
+
+$(CURDIR)/R-overlay.conf: $(RV_SETUP) FORCE
+       ROVERLAY_INSTALLED=0 $< --target-type gentoo \
+               -O $@ --prjroot-relpath \
                -D files --conf-root config --my-conf-root config -A files -W 
workdir \
                mkconfig
 
-       ROVERLAY_INSTALLED=0 $(RV_SETUP) \
-               -O R-overlay.conf.others --prjroot-relpath --target-type 
foreign \
+$(CURDIR)/R-overlay.conf.others: $(RV_SETUP) FORCE
+       ROVERLAY_INSTALLED=0 $< --target-type foreign \
+               -O $@ --prjroot-relpath \
                -D files --conf-root config --my-conf-root config -A files -W 
workdir \
                mkconfig
 
+PHONY += generate-config
+generate-config: \
+       $(CURDIR)/config/R-overlay.conf.install \
+       $(CURDIR)/config/R-overlay.conf.install.others \
+       $(CURDIR)/R-overlay.conf \
+       $(CURDIR)/R-overlay.conf.others
+
 
+PHONY += generate-files
 generate-files: generate-config generate-doc generate-manifest
 
 # creates a src tarball (.tar.bz2)
 #  !!! does not include config files
+PHONY += release
 release: generate-files
        @echo "Note: the release tarball does not include any config files!"
        @install -d $(PKG_DISTDIR)
        ./$(SETUP_PY) sdist --dist-dir=$(PKG_DISTDIR) --formats=bztar
 
+PHONY += dist
 dist: distclean release
 
+PHONY += compress-config
 compress-config: $(BUILDDIR)
        @install -d $(BUILDDIR)/config
        cp -vLr -p --no-preserve=ownership config/simple-deprules.d 
$(BUILDDIR)/config/
        find $(BUILDDIR)/config/simple-deprules.d/ -type f -print0 | xargs -0 
-n 5 --verbose $(X_COMPRESS)
        $(X_COMPRESS) -c config/license.map >  $(BUILDDIR)/config/license.map
 
+PHONY += install-roverlay
 install-roverlay: ./roverlay.py
        install -T -D -- ./roverlay.py $(BINDIR)/roverlay
 
+PHONY += install-pymodules
 install-pymodules: ./setup.py
        $(PYTHON) ./setup.py install --record $(PYMOD_FILE_LIST)
 
+PHONY += install-config-common
 install-config-common:
        install -m 0755 -d $(CONFDIR)/roverlay
        install -m 0644 -t $(CONFDIR)/roverlay \
@@ -148,11 +170,13 @@ install-config-common:
        install -m 0644 -T \
                config/R-overlay.conf.install $(CONFDIR)/roverlay/R-overlay.conf
 
+PHONY += install-config-compressed
 install-config-compressed: install-config-common
        cp -vLr -p --no-preserve=ownership \
                $(BUILDDIR)/config/simple-deprules.d 
$(BUILDDIR)/config/license.map \
                $(CONFDIR)/roverlay/
 
+PHONY += install-config
 install-config: install-config-common
        cp -vLr -p --no-preserve=ownership \
                config/simple-deprules.d config/license.map \
@@ -160,7 +184,7 @@ install-config: install-config-common
 
 
 # license.map deprules
-
+PHONY += install-data
 install-data:
        install -m 0755 -d \
                $(DATADIR)/roverlay/shlib $(DATADIR)/roverlay/hooks \
@@ -175,17 +199,28 @@ install-data:
        install -m 0644 -t $(DATADIR)/roverlay/mako_templates \
                files/mako_templates/*.*
 
+PHONY += install
 install: install-pymodules install-roverlay
 
+PHONY += install-all
 install-all: install
 
+PHONY += uninstall-roverlay
 uninstall-roverlay:
        rm -vf -- $(BINDIR)/roverlay
 
+PHONY += uninstall-pymodules
 uninstall-pymodules: $(PYMOD_FILE_LIST)
        xargs rm -vrf < $(PYMOD_FILE_LIST)
 
+PHONY += uninstall
 uinstall:
        @false
 
+PHONY += uninstall-all
 uninstall-all: uninstall
+
+PHONY += FORCE
+FORCE:
+
+.PHONY: $(PHONY)

Reply via email to