From 703412368c8afc811f2cec47684054e3875b607b Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 31 Aug 2025 10:30:59 -0400 Subject: build: Allow ./configure CFLAGS=... to override auto-detected flags --- build/config.mk | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'build/config.mk') 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 -- cgit v1.2.3