summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2017-01-30 14:46:36 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2017-01-30 18:54:01 -0500
commitdc9339b5699ee3b0d48145a1389f93e9e09d02a6 (patch)
treeed71bd691ea6e0d05d47e2bfd891c333bf5709ab /Makefile
parent4f9203808ef9607ae27eba3cf77079bbe661fd95 (diff)
Update and tidy the build system for autothing v3.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile45
1 files changed, 26 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index 0e9caa2..5e83abc 100644
--- a/Makefile
+++ b/Makefile
@@ -2,40 +2,47 @@ include $(dir $(lastword $(MAKEFILE_LIST)))/config.mk
include $(topsrcdir)/build-aux/Makefile.head.mk
# these are the resulting packages
-packages=libretools librelib gitget xbs
+pkgs=libretools librelib gitget xbs
# and which directories they contain
-libretools=\
+pkg.libretools=\
src \
src/abslibre-tools \
src/chroot-tools \
src/devtools \
src/librefetch \
src/toru
-librelib=src/lib
-gitget=src/gitget
-xbs=\
+pkg.librelib=src/lib
+pkg.gitget=src/gitget
+pkg.xbs=\
src/xbs \
src/xbs-abs \
src/xbs-abslibre
-verbs=build install uninstall mostlyclean clean distclean maintainer-clean check
-$(foreach verb,$(verbs),$(foreach package,$(packages),$(eval $(verb)-$(package): $(addsuffix /$(verb),$($(package))))))
-$(foreach verb,$(verbs),$(foreach package,$(packages),$(eval .PHONY: $(verb)-$(package))))
+define _pkg_rule
+%(verb)-%(pkg): $(addsuffix /%(verb),$(pkg.%(pkg)))
+.PHONY: %(verb)-%(pkg)
+endef
+$(eval $(foreach verb,$(nested.targets),$(foreach pkg,$(pkgs),\
+ $(subst %(verb),$(verb),$(subst %(pkg),$(pkg),$(value _pkg_rule)))$(at.nl))))
-$(outdir)/check::
+$(outdir)/check:
cd $(@D)/test && ./testenv $(TESTENVFLAGS) roundup
_po_rule = \
-po/%(package).pot: $(addsuffix /everything.pot,$(%(package))); \
- cat $^ | msguniq -Fi --to-code=UTF-8 > '$@' || rm -f '$@'
-$(foreach package,$(packages),$(eval $(subst %(package),$(package),$(value _po_rule))))
+po/%(pkg).pot: $(addsuffix /everything.pot,$(pkg.%(pkg))); \
+ cat $^ | msguniq -Fi --to-code=UTF-8 > '$@'
+$(eval $(foreach pkg,$(pkgs),\
+ $(subst %(pkg),$(pkg),$(value _po_rule))$(at.nl)))
-pots =
-std.out_files += $(foreach package,$(packages),po/$(package).pot)
-std.clean_files += .var.*
-std.gen_files += .srcversion-libretools.mk .srcversion-devtools.mk
-at.subdirs = src $(foreach package,$(packages),$($(package)))
-detect-ignore-md += HACKING/%
-detect-ignore-exec += build-aux/%
+libretools.out.mans =
+libretools.out.bins =
+libretools.out.libexecs =
+libretools.out.libs =
+libretools.out.docs =
+libretools.out.confs =
+libretools.out = $(foreach pkg,$(pkgs),po/$(pkg).pot)
+
+files.src.gen += .srcversion-libretools.mk .srcversion-devtools.mk
+nested.subdirs = $(foreach pkg,$(pkgs),$(pkg.$(pkg)))
include $(topsrcdir)/build-aux/Makefile.tail.mk