about summary refs log tree commit diff
path: root/mk
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-25T10·16+0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-11-25T10·16+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 212336cad2..b4a2fb265c 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 0000000000..3575b6d956
--- /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