aboutsummaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-25 10:16:07 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-25 10:16:07 +0000
commited0a8dd71ad58d16c24d714ab2b9419285d1ffc0 (patch)
tree8845ac8bcfb70f81f1b6e3f2dc3b3a00047f0f9e /mk
parentf980755766e7cd74c0c959eaa2a6d4655980e2ea (diff)
Add a function for instantiating Autoconf *.in files
Diffstat (limited to 'mk')
-rw-r--r--mk/lib.mk8
-rw-r--r--mk/templates.mk8
2 files changed, 12 insertions, 4 deletions
diff --git a/mk/lib.mk b/mk/lib.mk
index 212336cad..b4a2fb265 100644
--- a/mk/lib.mk
+++ b/mk/lib.mk
@@ -2,9 +2,7 @@ default: all
# Include Autoconf variables.
-Makefile.config: Makefile.config.in
- ./config.status --file $@
-
+template_files += Makefile.config
include Makefile.config
@@ -33,6 +31,7 @@ include mk/install.mk
include mk/libraries.mk
include mk/programs.mk
include mk/patterns.mk
+include mk/templates.mk
# Include all sub-Makefiles.
@@ -44,9 +43,10 @@ endef
$(foreach mf, $(SUBS), $(eval $(call include-sub-makefile, $(mf))))
-# Instantiate libraries and programs.
+# Instantiate stuff.
$(foreach lib, $(LIBS), $(eval $(call build-library,$(lib))))
$(foreach prog, $(PROGRAMS), $(eval $(call build-program,$(prog))))
+$(foreach template, $(template_files), $(eval $(call instantiate-template,$(template))))
all: $(programs_list)
diff --git a/mk/templates.mk b/mk/templates.mk
new file mode 100644
index 000000000..3575b6d95
--- /dev/null
+++ b/mk/templates.mk
@@ -0,0 +1,8 @@
+# Create the file $(1) from $(1).in by running config.status (which
+# substitutes all ‘@var@’ variables set by the configure script).
+define instantiate-template =
+
+ $(1): $(1).in
+ ./config.status --file $(1)
+
+endef