summaryrefslogtreecommitdiff
path: root/project/srcgen.mk
diff options
context:
space:
mode:
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) $< > $@