about summary refs log tree commit diff
path: root/mk
diff options
context:
space:
mode:
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 212336cad224..b4a2fb265c3e 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 000000000000..3575b6d95614
--- /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