summaryrefslogtreecommitdiffstats
path: root/build/config.mk
diff options
context:
space:
mode:
Diffstat (limited to 'build/config.mk')
-rw-r--r--build/config.mk21
1 files changed, 15 insertions, 6 deletions
diff --git a/build/config.mk b/build/config.mk
index 663926c..be57678 100644
--- a/build/config.mk
+++ b/build/config.mk
@@ -10,8 +10,16 @@ include build/exports.mk
config: gen/config.mk gen/config.h
.PHONY: config
+# All the generated makefile fragments
+MKS := \
+ gen/vars.mk \
+ gen/early.mk \
+ gen/auto.mk \
+ gen/pkgs.mk \
+ gen/late.mk
+
# The main configuration file, which includes the others
-gen/config.mk: gen/vars.mk gen/flags.mk gen/pkgs.mk
+gen/config.mk: ${MKS}
${MSG} "[ GEN] $@"
@printf '# %s\n' "$@" >$@
@printf 'include %s\n' $^ >>$@
@@ -36,16 +44,17 @@ gen/vars.mk::
# Sets the build flags. This depends on vars.mk and uses a recursive make so
# that the default flags can depend on variables like ${OS}.
-gen/flags.mk: gen/vars.mk
+gen/early.mk gen/late.mk: gen/vars.mk
@+XMAKEFLAGS="$$MAKEFLAGS" ${MAKE} -sf build/flags.mk $@
-.PHONY: gen/flags.mk
+
+# Auto-detected build flags
+gen/auto.mk: gen/early.mk gen/late.mk
+ @+XMAKEFLAGS="$$MAKEFLAGS" ${MAKE} -sf build/auto.mk $@
# Auto-detect dependencies and their build flags
-gen/pkgs.mk: gen/flags.mk
+gen/pkgs.mk: gen/auto.mk
@+XMAKEFLAGS="$$MAKEFLAGS" ${MAKE} -sf build/pkgs.mk $@
-.PHONY: gen/pkgs.mk
# Compile-time feature detection
gen/config.h: gen/pkgs.mk
@+XMAKEFLAGS="$$MAKEFLAGS" ${MAKE} -sf build/header.mk $@
-.PHONY: gen/config.h