From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/R_overlay:master commit in: /
Date: Thu, 5 Jun 2014 22:09:09 +0000 (UTC) [thread overview]
Message-ID: <1396550842.316c754b535d2564ea2175a453b903ac4889c606.dywi@gentoo> (raw)
commit: 316c754b535d2564ea2175a453b903ac4889c606
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Apr 3 18:47:22 2014 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Apr 3 18:47:22 2014 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=316c754b
Makefile overhaul
* added a "help" target
* moved pydoc creation to Makefile (bin/build/do_pydoc.sh no longer necessary)
* moved html doc creation to Makefile (allows parallelization)
* support parallel deprules compression (_compress-deprules)
* enforce file/dir mode for all installed files
(use recursive "install", not "cp -r")
* "dist" target: compress with bzip2, gzip and xz, depending on
X_BZIP2, X_GZIP, X_XZ
* removed broken "install-roverlay" target
* "install-pymodules" renamed to "install" as it installs
scripts/binaries as well
* "install-config-compressed" dropped in favor of COMPRESSED_CONFIG=0|1
(in "install-config")
* added "install-bashcomp", "install-nonpy"
* removed uninstall-roverlay, renamed uninstall-pymodules->uninstall
These changes are incompatible with the current roverlay-9999.ebuild's
src_install().
---
Makefile | 492 ++++++++++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 347 insertions(+), 145 deletions(-)
diff --git a/Makefile b/Makefile
index 1b43925..2efca5a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,61 +1,117 @@
# Some make targets for testing / distribution
+# run "make help" to list them
# don't create bytecode files when running py scripts (racy)
unexport PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE=y
+_PRJNAME := R_Overlay
+_PN := roverlay
+DISTNAME := $(_PN)
+
+SHELL ?= sh
+
+S := $(CURDIR)
+# !!! for proper outdir $O support,
+# generate-* and install-* have to modified
+O := $(S)
+BUILDDIR := $(O)/tmp
+
DESTDIR := /
DESTTREE := $(DESTDIR)usr/
-DATADIR := $(DESTTREE)share
-BINDIR := $(DESTTREE)bin
-CONFDIR := $(DESTDIR)etc
+DATADIR := $(DESTTREE)share
+BINDIR := $(DESTTREE)bin
+CONFDIR := $(DESTDIR)etc
+BASHCOMPDIR := $(DATADIR)/bash-completion
+
+DIRMODE := 0755
+INSMODE := 0644
+EXEMODE := 0755
-BUILDDIR := ./tmp
+_DODIR = install -m $(DIRMODE) -d
+_DOINS = install -m $(INSMODE)
+_DOEXE = install -m $(EXEMODE)
+
+PYMOD_FILE_LIST := $(O)/$(_PN)_files.list
+
+_SETUP_PY_DIRS := $(addprefix $(S)/,build/ $(_PRJNAME).egg-info/)
+_PYMOD_DIRS := $(addprefix $(S)/,roverlay/)
ROVERLAY_TARGET_TYPE := gentoo
+COMPRESSED_CONFIG := n
RELEASE_NOT_DIRTY := n
RELEASE_DIRTY_SUFFIX := -dirty
VBUMP_COMMIT := y
-PYMOD_FILE_LIST := ./roverlay_files.list
-
-MANIFEST := $(CURDIR)/MANIFEST
-LICENSES_FILE := $(CURDIR)/files/licenses
-VERSION_FILE := $(CURDIR)/VERSION
+MANIFEST := $(S)/MANIFEST
+LICENSES_FILE := $(S)/files/licenses
+VERSION_FILE := $(S)/VERSION
+HTML_DOCS := usage
+HTMLDOC_TITLE := Automatically Generated Overlay of R packages
X_GIT := git
-
-MANIFEST_GEN := ./bin/build/create_manifest.sh
-LICENSES_GEN := ./bin/build/make-licenses.sh
-X_SETVER := ./bin/build/setver.sh
-RV_SETUP := ./bin/roverlay-setup
-
-SETUP_PY := ./setup.py
-PKG_DISTDIR := ./release
-
-LOGDIR := ./log
-
-ROVERLAY_MAIN := ./roverlay.py
+X_RST2HTML := rst2html.py
+X_GZIP := gzip
+X_BZIP2 := bzip2
+X_XZ := xz
+X_COMPRESS := $(X_BZIP2)
+ifeq ($(X_COMPRESS),$(X_BZIP2))
+X_COMPRESS_SUFFIX := .bz2
+else ifeq ($(X_COMPRESS),$(X_GZIP))
+X_COMPRESS_SUFFIX := .gz
+else ifeq ($(X_COMPRESS),$(X_XZ))
+X_COMPRESS_SUFFIX := .xz
+else
+X_COMPRESS_SUFFIX :=
+endif
PYVER :=
PYTHON := python$(PYVER)
-PYDOC_SH := ./bin/build/do_pydoc.sh
-X_COMPRESS := bzip2
-RST_HTML := ./bin/build/roverlay_rst2html.sh
+_SCRIPTS_DIR := $(S)/bin
+_BUILDSCRIPTS := $(_SCRIPTS_DIR)/build
+
+MANIFEST_GEN := $(_BUILDSCRIPTS)/create_manifest.sh
+LICENSES_GEN := $(_BUILDSCRIPTS)/make-licenses.sh
+X_SETVER := $(_BUILDSCRIPTS)/setver.sh
+PYDOC_SH := $(_BUILDSCRIPTS)/do_pydoc.sh
+RV_SETUP := $(_SCRIPTS_DIR)/$(_PN)-setup
+X_RUN_TESTS := $(_SCRIPTS_DIR)/run_tests
-SRC_DOCDIR := ./doc
+SETUP_PY := $(S)/setup.py
+PKG_DISTDIR := $(O)/release
+LOGDIR := $(S)/log
+SRC_DOCDIR := $(S)/doc
SELFDOC := $(SRC_DOCDIR)/pydoc
+_TRUE_WORDS := y Y 1 yes YES true TRUE
+
+# _f_recursive_install ( src_root, src_names, dest_root, file_mode )
+#
+# Recursively installs files from <src_root>/<%name> to <dest_root>/<%name>
+# for each name in <src_names>.
+#
+_f_recursive_install = ( \
+ cd $(1)/ && find $(2) -type f -print0 | \
+ xargs -0 -n 1 -I '{FILE}' $(SHELL) -c \
+ 'set -- install -m "$(4)" -D -- "{FILE}" "$(3)/{FILE}" && \
+ echo "$${*}" && "$${@}"' \
+)
+
+# _f_install_config_files ( src_dir )
+#
+# Installs "optionally compressable" files from src_dir to CONFDIR/_PN.
+# (i.e. config files not installed by install-config-common)
+#
+_f_install_config_files = $(call _f_recursive_install,$(1),\
+ license.map simple-deprules.d/,$(CONFDIR)/$(_PN),$(INSMODE))
+
+
PHONY += all
all:
-PHONY += check
-check:
- @true
-
PHONY += version
version:
@cat $(VERSION_FILE)
@@ -63,7 +119,7 @@ version:
PHONY += setver
setver: $(X_SETVER)
ifeq ($(VER),)
- $(error $$VER is not set.)
+ $(error $$VER is not set)
else
$< $(VER)
endif
@@ -71,94 +127,110 @@ endif
PHONY += version-bump
version-bump: $(X_SETVER)
{ ! $(X_GIT) status --porcelain -- $(notdir $(VERSION_FILE)) | grep .; }
-ifeq ($(VBUMP_COMMIT),$(filter $(VBUMP_COMMIT),y Y 1 yes YES true TRUE))
+ifeq ($(VBUMP_COMMIT),$(filter $(VBUMP_COMMIT),$(_TRUE_WORDS)))
X_GIT="$(X_GIT)" $< --reset --git-add --git-commit --git-tag +
else
X_GIT="$(X_GIT)" $< --reset --git-add +
endif
PHONY += test
-test: ./bin/run_tests
- ./bin/run_tests
+test: $(X_RUN_TESTS)
+ $<
PHONY += clean
clean:
- rm -rf ./build/ $(BUILDDIR)/
+ rm -rf -- $(_SETUP_PY_DIRS) $(BUILDDIR)/
+ rm -f -- $(wildcard $(PKG_DISTDIR)/*.make_tmp)
PHONY += clean-log
clean-log:
- rm -rf -- $(LOGDIR)
+ rm -rf -- $(LOGDIR)/
-PHONY += _pyclean
-_pyclean: | clean
- find . \( -name "*.pyc" -or -name "*.pyo" \) -delete -print
+PHONY += pyclean
+pyclean:
+ find $(_PYMOD_DIRS) -name '*.py[co]' -delete -print
-PHONY += _pydoc_clean
-_pydoc_clean:
+PHONY += pydoc_clean
+pydoc_clean:
+# rm -f -- $(wildcard $(SELFDOC)/*.html)
rm -f -- $(SELFDOC)/*.html
- test ! -d $(SELFDOC) || rmdir --ignore-fail-on-non-empty -- $(SELFDOC)/
PHONY += distclean
-distclean: clean _pyclean _pydoc_clean
+distclean: clean pyclean pydoc_clean
+ test ! -d $(SELFDOC) || rmdir --ignore-fail-on-non-empty -- $(SELFDOC)/
+
+$(PKG_DISTDIR) $(BUILDDIR) $(BUILDDIR)/config:
+ mkdir -p -- "$@"
-$(BUILDDIR):
- @install -d $(BUILDDIR)
+$(SELFDOC)/roverlay: $(S)/roverlay
+ mkdir -p -- $(@D)
+ ln -nfsT -- $< $@
# generates selfdocs (using pydoc) in $(SELFDOC)/
-$(SELFDOC): | _pydoc_clean
- -mkdir $(SELFDOC)
- ln -snfT -- ../../roverlay $(SELFDOC)/roverlay
- $(PYDOC_SH) $(SELFDOC)
+$(SELFDOC): FORCE pydoc_clean | $(SELFDOC)/roverlay
+ test -e $@/roverlay
+ cd $@ && find roverlay/ -type f -name '*.py' | \
+ sed -e 's,[.]py$$,,' -e 's,\/,.,g' -e 's,[.]__init__$$,,' | \
+ xargs pydoc -w
+ ln -nfsT -- roverlay.html $@/index.html
+ rm -f $@/roverlay
# alias to $(SELFDOC)
PHONY += pydoc
pydoc: $(SELFDOC)
+$(SRC_DOCDIR)/html/%.html: $(SRC_DOCDIR)/rst/%.rst
+ @mkdir -p $(@D)
+ $(X_RST2HTML) --title '$(HTMLDOC_TITLE)' --date '$<' '$@'
+
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
+htmldoc: $(addsuffix .html,$(addprefix $(SRC_DOCDIR)/html/,$(HTML_DOCS)))
PHONY += generate-doc
generate-doc: htmldoc
$(MANIFEST): $(MANIFEST_GEN) FORCE
+ @mkdir -p $(@D)
$< > $@
PHONY += generate-manifest
generate-manifest: $(MANIFEST)
-$(LICENSES_FILE): $(LICENSES_GEN) FORCE | $(CURDIR)/files
+$(LICENSES_FILE): $(LICENSES_GEN) FORCE
+ @mkdir -p $(@D)
$< $@
PHONY += generate-licenses
-generate-licenses: $(CURDIR)/files/licenses
+generate-licenses: $(LICENSES_FILE)
-
-$(CURDIR)/config/R-overlay.conf.install: $(RV_SETUP) FORCE | $(CURDIR)/config
+$(S)/config/R-overlay.conf.install: $(RV_SETUP) FORCE
+ @mkdir -p $(@D)
ROVERLAY_INSTALLED=1 $< --target-type gentoo \
-O $@ \
- -D $(DATADIR)/roverlay \
- --conf-root $(CONFDIR)/roverlay --my-conf-root $(CONFDIR)/roverlay \
- -A $(CONFDIR)/roverlay/files \
+ -D $(DATADIR)/$(_PN) \
+ --conf-root $(CONFDIR)/$(_PN) --my-conf-root $(CONFDIR)/$(_PN) \
+ -A $(CONFDIR)/$(_PN)/files \
mkconfig
-$(CURDIR)/config/R-overlay.conf.install.others: $(RV_SETUP) FORCE | $(CURDIR)/config
+$(S)/config/R-overlay.conf.install.others: $(RV_SETUP) FORCE
+ @mkdir -p $(@D)
ROVERLAY_INSTALLED=1 $< --target-type foreign \
-O $@ \
- -D $(DATADIR)/roverlay \
- --conf-root $(CONFDIR)/roverlay --my-conf-root $(CONFDIR)/roverlay \
- -A $(CONFDIR)/roverlay/files \
+ -D $(DATADIR)/$(_PN) \
+ --conf-root $(CONFDIR)/$(_PN) --my-conf-root $(CONFDIR)/$(_PN) \
+ -A $(CONFDIR)/$(_PN)/files \
mkconfig
-$(CURDIR)/R-overlay.conf: $(RV_SETUP) FORCE
+$(S)/R-overlay.conf: $(RV_SETUP) FORCE
+ @mkdir -p $(@D)
ROVERLAY_INSTALLED=0 $< --target-type gentoo \
-O $@ --prjroot-relpath \
-D files --conf-root config --my-conf-root config -A files -W workdir \
mkconfig
-$(CURDIR)/R-overlay.conf.others: $(RV_SETUP) FORCE
+$(S)/R-overlay.conf.others: $(RV_SETUP) FORCE
+ @mkdir -p $(@D)
ROVERLAY_INSTALLED=0 $< --target-type foreign \
-O $@ --prjroot-relpath \
-D files --conf-root config --my-conf-root config -A files -W workdir \
@@ -166,17 +238,17 @@ $(CURDIR)/R-overlay.conf.others: $(RV_SETUP) FORCE
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
+ $(S)/config/R-overlay.conf.install \
+ $(S)/config/R-overlay.conf.install.others \
+ $(S)/R-overlay.conf \
+ $(S)/R-overlay.conf.others
PHONY += generate-files
-generate-files: generate-config generate-doc generate-manifest generate-licenses
+generate-files: $(addprefix generate-,config doc manifest licenses)
PHONY += generate-files-commit
-generate-files-commit:
+generate-files-commit: gemerate-files
{ ! $(X_GIT) status --porcelain -- . | grep ^[MADRCU]; }
$(X_GIT) add -vu -- \
R-overlay.conf \
@@ -188,117 +260,247 @@ generate-files-commit:
$(X_GIT) commit -m "update generated files"
# creates a src tarball (.tar.bz2)
-PHONY += release
-release: generate-files
+PHONY += dist
+dist: distclean generate-files | $(PKG_DISTDIR)
+ifeq ($(X_BZIP2)$(X_GZIP)$(X_XZ),)
+ $(error at least one of X_BZIP2, X_GZIP, X_XZ must be set)
+endif
$(eval MY_$@_BASEVER := $(shell cat $(VERSION_FILE)))
test -n '$(MY_$@_BASEVER)'
- $(eval MY_$@_HEADREF := $(shell git rev-parse --verify HEAD))
+
+ $(eval MY_$@_HEADREF := $(shell $(X_GIT) rev-parse --verify HEAD))
test -n '$(MY_$@_HEADREF)'
- $(eval MY_$@_VREF := $(shell git rev-parse --verify $(MY_$@_BASEVER) 2>/dev/null))
-ifeq ($(RELEASE_NOT_DIRTY),$(filter $(RELEASE_NOT_DIRTY),y Y 1 yes YES true TRUE))
+
+ $(eval MY_$@_VREF := $(shell $(X_GIT) rev-parse --verify $(MY_$@_BASEVER) 2>/dev/null))
+
+ifeq ($(RELEASE_NOT_DIRTY),$(filter $(RELEASE_NOT_DIRTY),$(_TRUE_WORDS)))
$(eval MY_$@_VER := $(MY_$@_BASEVER))
else
$(eval MY_$@_VER := $(MY_$@_BASEVER)$(shell \
test "$(MY_$@_HEADREF)" = "$(MY_$@_VREF)" || echo '$(RELEASE_DIRTY_SUFFIX)'))
endif
- $(eval MY_$@_FILE := $(PKG_DISTDIR)/roverlay_$(MY_$@_VER).tar)
- install -d -m 0755 -- $(PKG_DISTDIR)
- git archive --worktree-attributes --format=tar HEAD \
- --prefix=roverlay_$(MY_$@_VER)/ > $(MY_$@_FILE).make_tmp
+ $(eval MY_$@_FILE := $(PKG_DISTDIR)/$(DISTNAME)_$(MY_$@_VER).tar)
+
- bzip2 -c $(MY_$@_FILE).make_tmp > $(MY_$@_FILE).bz2
+ $(X_GIT) archive --worktree-attributes --format=tar HEAD \
+ --prefix=$(DISTNAME)_$(MY_$@_VER)/ > $(MY_$@_FILE).make_tmp
+
+ifneq ($(X_BZIP2),)
+ $(X_BZIP2) -c $(MY_$@_FILE).make_tmp > $(MY_$@_FILE).bz2
+endif
+ifneq ($(X_GZIP),)
+ $(X_GZIP) -c $(MY_$@_FILE).make_tmp > $(MY_$@_FILE).gz
+endif
+ifneq ($(X_XZ),)
+ $(X_XZ) -c $(MY_$@_FILE).make_tmp > $(MY_$@_FILE).xz
+endif
rm -- $(MY_$@_FILE).make_tmp
-PHONY += dist
-dist: distclean release
+# rule for compressing a deprule file
+$(BUILDDIR)/config/simple-deprules.d/%$(X_COMPRESS_SUFFIX): \
+ $(S)/config/simple-deprules.d/%
+
+ @mkdir -p $(@D)
+ $(X_COMPRESS) -c $< > $@
+
+# rule for compressing all deprule files
+PHONY += _compress-deprules
+_compress-deprules: $(shell \
+ find $(S)/config/simple-deprules.d/ -type f | sed \
+ -e 's,^$(S)/,$(BUILDDIR)/,' -e 's,$$,$(X_COMPRESS_SUFFIX),')
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 \
+compress-config: _compress-deprules | $(BUILDDIR)/config
+ $(X_COMPRESS) -c config/license.map > $(BUILDDIR)/config/license.map
+
+
+PHONY += install-config
+install-config:
+ $(_DODIR) $(CONFDIR)/$(_PN)
+ $(_DOINS) -t $(CONFDIR)/$(_PN) \
config/description_fields.conf config/repo.list \
config/package_rules config/hookrc
ifeq ($(ROVERLAY_TARGET_TYPE),gentoo)
- install -m 0644 -T \
- config/R-overlay.conf.install $(CONFDIR)/roverlay/R-overlay.conf
+ $(_DOINS) -T \
+ config/R-overlay.conf.install $(CONFDIR)/$(_PN)/R-overlay.conf
else
- install -m 0644 -T \
- config/R-overlay.conf.install.others $(CONFDIR)/roverlay/R-overlay.conf
+ $(_DOINS) -T \
+ config/R-overlay.conf.install.others $(CONFDIR)/$(_PN)/R-overlay.conf
+endif
+ifeq ($(COMPRESSED_CONFIG),$(filter $(COMPRESSED_CONFIG),$(_TRUE_WORDS)))
+ $(call _f_install_config_files,$(BUILDDIR)/config)
+else
+ $(call _f_install_config_files,$(S)/config)
endif
-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 \
- $(CONFDIR)/roverlay/
-
-
-# license.map deprules
PHONY += install-data
install-data:
- install -m 0755 -d \
- $(DATADIR)/roverlay \
- $(DATADIR)/roverlay/shlib $(DATADIR)/roverlay/hooks \
- $(DATADIR)/roverlay/eclass $(DATADIR)/roverlay/mako_templates
+ $(_DODIR) -- \
+ $(addprefix $(DATADIR)/$(_PN)/,shlib hooks eclass mako_templates)
ifeq ($(ROVERLAY_TARGET_TYPE),gentoo)
- install -m 0644 -- files/setup.defaults $(DATADIR)/setup.defaults
+ $(_DOINS) -- files/setup.defaults $(DATADIR)/setup.defaults
else
- install -m 0644 -- files/setup.defaults.others $(DATADIR)/setup.defaults
- install -m 0644 -- $(LICENSES_FILE) $(DATADIR)/roverlay/licenses
+ $(_DOINS) -- files/setup.defaults.others $(DATADIR)/setup.defaults
+ $(_DOINS) -- $(LICENSES_FILE) $(DATADIR)/$(_PN)/licenses
endif
- install -m 0644 -t $(DATADIR)/roverlay/hooks files/hooks/*.sh
- install -m 0644 -t $(DATADIR)/roverlay/shlib files/shlib/*.sh
- chmod 0775 $(DATADIR)/roverlay/hooks/mux.sh
-
- install -m 0644 -t $(DATADIR)/roverlay/eclass files/eclass/*.eclass
-
- install -m 0644 -t $(DATADIR)/roverlay/mako_templates \
- files/mako_templates/*.*
+ $(_DOINS) -t $(DATADIR)/$(_PN)/hooks -- $(wildcard files/hooks/*.sh)
+ chmod $(EXEMODE) -- $(DATADIR)/$(_PN)/hooks/mux.sh
+ $(_DOINS) -t $(DATADIR)/$(_PN)/shlib -- $(wildcard files/shlib/*.sh)
+ $(_DOINS) -t $(DATADIR)/$(_PN)/eclass -- $(wildcard files/eclass/*.eclass)
+ $(_DOINS) -t $(DATADIR)/$(_PN)/mako_templates -- \
+ $(wildcard files/mako_templates/*.*)
+
+PHONY += install-bashcomp
+install-bashcomp:
+ $(_DODIR) $(BASHCOMPDIR)
+ $(foreach f,$(wildcard $(S)/files/misc/*.bashcomp),\
+ $(_DOINS) -- $(f) $(BASHCOMPDIR)/$(notdir $(basename $(f))))
PHONY += install
-install: install-pymodules install-roverlay
+install: $(SETUP_PY)
+ $(PYTHON) $< install --root $(DESTDIR) --record $(PYMOD_FILE_LIST)
-PHONY += install-all
-install-all: install
+PHONY += install-nonpy
+install-nonpy: $(addprefix install-,data config bashcomp)
-PHONY += uninstall-roverlay
-uninstall-roverlay:
- rm -vf -- $(BINDIR)/roverlay
+PHONY += install-all
+install-all: install install-nonpy
-PHONY += uninstall-pymodules
-uninstall-pymodules: $(PYMOD_FILE_LIST)
+PHONY += uninstall
+uninstall: $(PYMOD_FILE_LIST)
xargs rm -vrf < $(PYMOD_FILE_LIST)
-PHONY += uninstall
-uinstall:
+PHONY += uninstall-all
+uninstall-all:
@false
-PHONY += uninstall-all
-uninstall-all: uninstall
+PHONY += help
+help:
+ $(eval MY_$@_GENITIVE := $(_PN)'\''s)
+
+ @echo 'Basic Targets:'
+ @echo ' all - do nothing'
+ @echo ' version - print $(MY_$@_GENITIVE) version'
+ @echo ' compress-config - compress config files with X_COMPRESS'
+ @echo ' and write them to BUILDDIR/config'
+ @echo ' (X_COMPRESS: $(X_COMPRESS))'
+ @echo ' (BUILDDIR : $(BUILDDIR:$(CURDIR)/%=%))'
+# @echo ' _compress-deprules - compress dependency rule files with X_COMPRESS'
+ @echo ' test - run tests'
+ @echo ''
+
+ @echo '(Un-)Install Targets:'
+ @echo ' install-all - run all targets marked with [I]'
+ @echo ' uninstall-all - ***not available***'
+ @echo ' install-nonpy - run all targets marked with [I] except'
+ @echo ' "install"'
+ @echo 'I install - install scripts and python modules to DESTDIR'
+ @echo ' (DESTDIR: $(DESTDIR))'
+ @echo ' uninstall - uninstall scripts / python modules'
+ @echo 'I install-config - install config files to CONFDIR/$(_PN)'
+ @echo ' use compressed files from BUILDDIR where'
+ @echo ' applicable if COMPRESSED_CONFIG is "y"'
+ @echo ' "compress-config" must be run manually!'
+ @echo ' (CONFDIR: $(CONFDIR))'
+ @echo ' (COMPRESSED_CONFIG: $(COMPRESSED_CONFIG))'
+ @echo 'I install-data - install data files to DATADIR/$(_PN)'
+ @echo ' (DATADIR: $(DATADIR))'
+ @echo 'I install-bashcomp - install bash completion files to BASHCOMPDIR'
+ @echo ' (BASHCOMPDIR: $(BASHCOMPDIR))'
+ @echo ''
+
+ @echo 'Cleanup Targets:'
+ @echo ' clean - remove temporary dirs'
+ @echo ' distclean - remove temporary dirs, .py[co] and pydoc files'
+ @echo ' clean-log - remove log file directory LOGDIR'
+ @echo ' (LOGDIR: $(LOGDIR:$(CURDIR)/%=%))'
+ @echo ' pyclean - remove .py[co] files'
+ @echo ' pydoc_clean - remove pydoc files'
+ @echo ''
+
+ @echo 'File Generation Targets:'
+ @echo ' generate-files - run all targets marked with [G]'
+ @echo ' pydoc - create pydoc files (in-code documentation)'
+ @echo ' htmldoc - create html documentation (usage guide)'
+ @echo 'G generate-doc - alias to "htmldoc"'
+ @echo 'G generate-manifest - create a MANIFEST file for setup.py'
+ @echo 'G generate-licenses - create a licenses file and write it to'
+ @echo ' LICENSES_FILE, for systems without PORTDIR'
+ @echo ' (default: $(LICENSES_FILE:$(CURDIR)/%=%))'
+ @echo 'G generate-config - create R-overlay.conf config files'
+ @echo ''
+
+ @echo 'Release/Devel Helper Targets:'
+ @echo ' generate-files-commit - run "generate-files" and commit changes'
+ @echo ' version-bump - increase $(MY_$@_GENITIVE) version (patchlevel)'
+ @echo ' and git commit/tag depending on VBUMP_COMMIT'
+ @echo ' (default: $(VBUMP_COMMIT))'
+ @echo ' setver - set $(MY_$@_GENITIVE) version to VER'
+ @echo ' (default: <not set>)'
+ @echo ' dist - create source tarball(s) in PKG_DISTDIR:'
+ @echo ' DISTNAME_<version>.tar.<compression suffix>'
+ @echo ' (implies "distclean" and "generate-files")'
+ @echo ' (PKG_DISTDIR: $(PKG_DISTDIR:$(CURDIR)/%=%))'
+ @echo ' (DISTNAME: $(DISTNAME))'
+ @echo ''
+ @echo ''
+ @echo 'Variables:'
+ @echo '* ROVERLAY_TARGET_TYPE - controls which files get installed and should'
+ @echo ' be either "gentoo" or "foreign" [$(ROVERLAY_TARGET_TYPE)]'
+ @echo ' Pick "foreign" for systems'
+ @echo ' without portage and/or PORTDIR.'
+ @echo '* COMPRESSED_CONFIG - whether to install compressed config files (y)'
+ @echo ' or not (n) [$(COMPRESSED_CONFIG)]'
+ @echo '* DESTDIR - installation root directory'
+ @echo ' [$(DESTDIR)]'
+ @echo '* DESTTREE - installation directory with prefix'
+ @echo ' (DESTDIR/usr/) [$(DESTTREE)]'
+ @echo '* DATADIR - directory for data files (DESTTREE/share)'
+ @echo ' [$(DATADIR)]'
+ @echo '* BINDIR - directory for executables (DESTTREE/bin)'
+ @echo ' [$(BINDIR)]'
+ @echo '* CONFDIR - system config directory (DESTDIR/etc)'
+ @echo ' [$(CONFDIR)]'
+ @echo '* BASHCOMPDIR - bashcomp dir (DATADIR/bash-completion)'
+ @echo ' [$(BASHCOMPDIR)]'
+ @echo '* DIRMODE - mode for installing directories [$(DIRMODE)]'
+ @echo '* INSMODE - mode for installing files [$(INSMODE)]'
+ @echo '* EXEMODE - mode for installing scripts [$(EXEMODE)]'
+ @echo '* PYMOD_FILE_LIST - file for recording files installed by setup.py'
+ @echo ' [$(PYMOD_FILE_LIST:$(CURDIR)/%=%)]'
+ @echo '* BUILDDIR - directory for temporary build files, e.g.'
+ @echo ' compressed config'
+ @echo ' [$(BUILDDIR:$(CURDIR)/%=%)]'
+ @echo ''
+ @echo -n '* PYVER - version of the python interpreter '
+ifeq ($(PYVER),)
+ @echo '[<unset>]'
+else
+ @echo '[$(PYVER)]'
+endif
+ @echo '* PYTHON - name of/path to python (pythonPYVER) [$(PYTHON)]'
+ @echo '* X_COMPRESS - default compression program (X_BZIP2) [$(X_COMPRESS)]'
+ @echo ' (used in compress-* targets)'
+ @echo '* X_COMPRESS_SUFFIX - file extension for compressed deprule files'
+ @echo ' (default: depends on X_COMPRESS) [$(X_COMPRESS_SUFFIX)]'
+ @echo '* X_BZIP2 - name of/path to bzip2 [$(X_BZIP2)]'
+ @echo '* X_GZIP - name of/path to gzip [$(X_GZIP)]'
+ @echo '* X_XZ - name of/path to xz [$(X_XZ)]'
+ @echo '* X_GIT - name of/path to git [$(X_GIT)]'
+ @echo '* X_RST2HTML - name of/path to rst2html [$(X_RST2HTML)]'
+ @echo ''
+ @echo '* VBUMP_COMMIT - whether to commit/tag when running'
+ @echo ' "version-bump" (y) or not (n) [$(VBUMP_COMMIT)]'
+ @echo '* RELEASE_NOT_DIRTY - whether to check if the dist tarball actually'
+ @echo ' matches its version (n) or not (y) [$(RELEASE_NOT_DIRTY)]'
+ @echo '* RELEASE_DIRTY_SUFFIX - suffix for "dirty" dist tarballs [$(RELEASE_DIRTY_SUFFIX)]'
+ @echo '* DISTNAME - base name for source tarballs [$(DISTNAME)]'
+ @echo '* PKG_DISTDIR - directory for storing source tarballs'
+ @echo ' [$(PKG_DISTDIR:$(CURDIR)/%=%)]'
+
PHONY += FORCE
FORCE:
next reply other threads:[~2014-06-05 22:09 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-05 22:09 André Erdmann [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-11-24 10:41 [gentoo-commits] proj/R_overlay:master commit in: / Benda XU
2015-11-05 5:15 Benda XU
2015-01-26 17:41 André Erdmann
2014-07-16 15:14 André Erdmann
2014-06-05 22:09 André Erdmann
2014-06-05 22:09 André Erdmann
2014-06-05 22:09 André Erdmann
2014-06-05 22:09 André Erdmann
2014-06-05 22:09 André Erdmann
2014-06-05 22:09 André Erdmann
2014-06-05 22:09 André Erdmann
2014-06-05 22:09 André Erdmann
2014-04-01 16:38 André Erdmann
2014-04-01 16:38 André Erdmann
2014-02-22 14:56 André Erdmann
2014-02-22 14:56 André Erdmann
2014-02-21 18:15 André Erdmann
2014-02-16 3:44 Benda XU
2014-01-25 18:14 André Erdmann
2013-12-11 18:40 André Erdmann
2013-09-23 15:30 André Erdmann
2013-09-23 15:30 André Erdmann
2013-09-23 15:30 André Erdmann
2013-09-23 15:30 André Erdmann
2013-09-18 14:00 André Erdmann
2013-09-18 14:00 André Erdmann
2013-09-16 8:56 André Erdmann
2013-09-13 15:10 André Erdmann
2013-09-12 16:36 André Erdmann
2013-09-12 8:27 André Erdmann
2013-09-12 8:27 André Erdmann
2013-09-11 14:59 André Erdmann
2013-09-11 14:59 André Erdmann
2013-09-11 10:27 André Erdmann
2013-09-11 10:19 André Erdmann
2013-09-11 10:19 André Erdmann
2013-09-04 15:36 André Erdmann
2013-08-29 15:22 André Erdmann
2013-08-16 10:58 André Erdmann
2013-08-16 10:57 André Erdmann
2013-08-16 10:53 André Erdmann
2013-08-16 10:43 André Erdmann
2013-08-16 10:43 André Erdmann
2013-08-14 14:56 André Erdmann
2013-08-14 14:56 André Erdmann
2013-08-12 8:18 André Erdmann
2013-08-09 10:18 André Erdmann
2013-08-05 11:44 André Erdmann
2013-08-01 12:44 André Erdmann
2013-08-01 12:44 André Erdmann
2013-07-25 13:25 André Erdmann
2013-07-23 18:34 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-23 18:34 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-23 14:57 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-23 14:57 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-12 17:11 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-12 17:11 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-12 14:03 André Erdmann
2013-07-11 16:44 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-11 16:29 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-11 10:36 André Erdmann
2013-07-10 16:16 André Erdmann
2013-07-10 16:16 André Erdmann
2013-07-10 15:10 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-10 16:16 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-03 10:05 André Erdmann
2013-06-22 15:24 André Erdmann
2013-06-22 15:24 André Erdmann
2013-02-09 21:23 André Erdmann
2013-02-09 20:45 André Erdmann
2013-02-03 19:32 André Erdmann
2013-01-28 23:56 André Erdmann
2013-01-27 16:51 Denis Dupeyron
2013-01-25 23:27 Denis Dupeyron
2013-01-25 17:44 Denis Dupeyron
2013-01-09 19:15 André Erdmann
2012-08-20 10:39 André Erdmann
2012-08-20 10:39 André Erdmann
2012-08-17 17:26 André Erdmann
2012-08-10 15:16 André Erdmann
2012-08-10 15:16 André Erdmann
2012-08-10 15:16 André Erdmann
2012-08-10 15:16 André Erdmann
2012-08-08 23:46 André Erdmann
2012-08-08 23:46 André Erdmann
2012-08-07 8:50 André Erdmann
2012-08-06 19:01 André Erdmann
2012-08-03 15:04 André Erdmann
2012-08-03 15:04 André Erdmann
2012-08-03 15:04 André Erdmann
2012-08-03 15:04 André Erdmann
2012-08-03 13:59 André Erdmann
2012-08-03 13:38 André Erdmann
2012-08-03 13:38 André Erdmann
2012-08-01 21:10 André Erdmann
2012-08-01 7:38 André Erdmann
2012-07-30 15:53 André Erdmann
2012-07-30 15:53 André Erdmann
2012-07-16 16:15 André Erdmann
2012-07-11 18:43 André Erdmann
2012-07-11 18:43 André Erdmann
2012-07-10 18:03 André Erdmann
2012-07-09 17:19 André Erdmann
2012-07-09 17:19 André Erdmann
2012-07-09 17:19 André Erdmann
2012-07-09 17:19 André Erdmann
2012-07-06 22:19 André Erdmann
2012-07-06 22:19 André Erdmann
2012-07-06 8:15 André Erdmann
2012-07-05 16:01 André Erdmann
2012-07-05 16:00 André Erdmann
2012-07-04 18:21 André Erdmann
2012-07-04 18:21 André Erdmann
2012-07-04 18:21 André Erdmann
2012-07-03 17:48 André Erdmann
2012-07-03 17:48 André Erdmann
2012-06-29 22:48 André Erdmann
2012-06-29 22:48 André Erdmann
2012-06-27 14:46 André Erdmann
2012-06-27 14:46 André Erdmann
2012-06-26 15:42 André Erdmann
2012-06-26 15:42 André Erdmann
2012-06-25 18:19 André Erdmann
2012-06-22 18:13 André Erdmann
2012-06-22 18:13 André Erdmann
2012-06-22 18:13 André Erdmann
2012-06-21 16:55 André Erdmann
2012-06-20 19:03 André Erdmann
2012-06-20 19:03 André Erdmann
2012-06-15 20:34 André Erdmann
2012-06-15 20:34 André Erdmann
2012-06-15 20:34 André Erdmann
2012-06-15 20:34 André Erdmann
2012-06-13 16:34 André Erdmann
2012-06-13 16:34 André Erdmann
2012-06-12 17:17 André Erdmann
2012-06-11 18:31 André Erdmann
2012-06-11 18:31 André Erdmann
2012-06-11 18:31 André Erdmann
2012-06-08 17:48 André Erdmann
2012-06-06 19:52 André Erdmann
2012-06-06 19:52 André Erdmann
2012-06-06 19:52 André Erdmann
2012-06-01 15:46 André Erdmann
2012-06-01 15:46 André Erdmann
2012-05-31 18:24 André Erdmann
2012-05-31 18:24 André Erdmann
2012-05-30 19:36 André Erdmann
2012-05-30 16:09 André Erdmann
2012-05-30 10:58 André Erdmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1396550842.316c754b535d2564ea2175a453b903ac4889c606.dywi@gentoo \
--to=dywi@mailerd.de \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox