summaryrefslogtreecommitdiff
path: root/project/srcgen.mk
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2020-01-26 03:10:34 +0000
committermidipix <writeonce@midipix.org>2020-02-01 02:44:34 +0000
commit32e0b49a4c4b1608e5c573ce5379d0512d3dc952 (patch)
treed785a6a3621e5899710ae6310ad734ae3c85385d /project/srcgen.mk
parente5991127b44e3a97d94a4b35f08529e6ed2a4b40 (diff)
downloadbautomake-32e0b49a4c4b1608e5c573ce5379d0512d3dc952.tar.bz2
bautomake-32e0b49a4c4b1608e5c573ce5379d0512d3dc952.tar.xz
project: --srcinfo support: initial integration.
Diffstat (limited to 'project/srcgen.mk')
-rw-r--r--project/srcgen.mk38
1 files changed, 33 insertions, 5 deletions
diff --git a/project/srcgen.mk b/project/srcgen.mk
index d1ab778..3f73ec5 100644
--- a/project/srcgen.mk
+++ b/project/srcgen.mk
@@ -30,6 +30,16 @@ BIN_SUBST_RULES = \
-e 's!@am_AUTOM4TE@!$(AM_AUTOM4TE)!g' \
-e 's!@datadir@!$(DATADIR)!g'
+SRCINFO_SUBST_RULES = \
+ -e 's!@program@!$(PROGRAM)!g' \
+ -e 's!@srcsite@!$(SRCSITE)!g' \
+ -e 's!@package@!$(PACKAGE)!g' \
+ -e 's,@pgprkey@,$(PGPRKEY),g' \
+ -e 's,@pgpskey@,$(PGPSKEY),g' \
+ -e 's!@pkgver@!$(AUTOMAKE_VER)!g' \
+ -e 's!@srcball_sha256@!$(SRCBALL_SHA256)!g'
+
+
LIB_GEN_SRCS = lib/Automake/Config.pm
LIB_CONFIGURE_INPUT = Generated via variable substitution from $(subst $(SOURCE_DIR)/lib/Automake/,,$<).
LIB_SUBST_RULES = \
@@ -44,11 +54,29 @@ ALL_GEN_SRCS = $(M4_GEN_SRCS) $(BIN_GEN_SRCS) $(LIB_GEN_SRCS) $(MAN_G
m4/amversion.m4: $(SOURCE_DIR)/m4/amversion.in tree.tag
sed $(M4_SUBST_RULES) $< > $@
-bin/aclocal-$(AUTOMAKE_VER): $(SOURCE_DIR)/bin/aclocal.in tree.tag
- sed $(BIN_SUBST_RULES) $< > $@ && chmod +x $@
-
-bin/automake-$(AUTOMAKE_VER): $(SOURCE_DIR)/bin/automake.in tree.tag
- sed $(BIN_SUBST_RULES) $< > $@ && chmod +x $@
+bin/aclocal-$(AUTOMAKE_VER): PROGRAM=aclocal
+bin/aclocal-$(AUTOMAKE_VER): $(SOURCE_DIR)/bin/aclocal.in tree.tag
+ sed -e '/$$PACKAGE) $$VERSION/,$$d' $(BIN_SUBST_RULES) \
+ $< > $@.tmp \
+ && sed $(SRCINFO_SUBST_RULES) \
+ $(SRCINFO) >> $@.tmp \
+ && sed -e '/$$PACKAGE) $$VERSION/p' \
+ -e '1,/$$PACKAGE) $$VERSION/d' $(BIN_SUBST_RULES) \
+ $< >> $@.tmp \
+ && chmod +x $@.tmp \
+ && mv $@.tmp $@
+
+bin/automake-$(AUTOMAKE_VER): PROGRAM=automake
+bin/automake-$(AUTOMAKE_VER): $(SOURCE_DIR)/bin/automake.in tree.tag
+ sed -e '/$$PACKAGE) $$VERSION/,$$d' $(BIN_SUBST_RULES) \
+ $< > $@.tmp \
+ && sed $(SRCINFO_SUBST_RULES) \
+ $(SRCINFO) >> $@.tmp \
+ && sed -e '/$$PACKAGE) $$VERSION/p' \
+ -e '1,/$$PACKAGE) $$VERSION/d' $(BIN_SUBST_RULES) \
+ $< >> $@.tmp \
+ && chmod +x $@.tmp \
+ && mv $@.tmp $@
lib/Automake/Config.pm: $(SOURCE_DIR)/lib/Automake/Config.in tree.tag
sed $(LIB_SUBST_RULES) $< > $@