From 9f1107cf041d44e79f566f41fc117321fb42881f Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 17 Apr 2024 12:32:22 -0400 Subject: build: Directly generate version.c --- config/config.mk | 12 +++++++----- config/deps.mk | 2 +- config/flags.mk | 2 +- config/pkg.mk | 2 +- config/prelude.mk | 4 ++-- 5 files changed, 12 insertions(+), 10 deletions(-) (limited to 'config') diff --git a/config/config.mk b/config/config.mk index 9d64eec..4771a5e 100644 --- a/config/config.mk +++ b/config/config.mk @@ -17,7 +17,7 @@ MKS := \ # The main configuration file, which includes the others ${CONFIG}: ${MKS} ${MSG} "[ GEN] ${TGT}" - @printf '# %s\n' "$@" >$@ + @printf '# %s\n' "${TGT}" >$@ @printf 'include $${GEN}/%s\n' ${.ALLSRC:${GEN}/%=%} >>$@ ${VCAT} ${CONFIG} .PHONY: ${CONFIG} @@ -26,7 +26,7 @@ ${CONFIG}: ${MKS} ${GEN}/vars.mk:: @${MKDIR} ${@D} ${MSG} "[ GEN] ${TGT}" - @printf '# %s\n' "$@" >$@ + @printf '# %s\n' "${TGT}" >$@ @printf 'PREFIX := %s\n' "$$XPREFIX" >>$@ @printf 'MANDIR := %s\n' "$$XMANDIR" >>$@ @printf 'OS := %s\n' "$${OS:-$$(uname)}" >>$@ @@ -54,8 +54,10 @@ ${GEN}/deps.mk: ${GEN}/flags.mk ${GEN}/objs.mk:: @${MKDIR} ${@D} ${MSG} "[ GEN] ${TGT}" - @printf '# %s\n' "$@" >$@ - @for obj in ${OBJS:${OBJ}/%.o=%}; do printf '$${OBJ}/%s.o: %s.c\n' "$$obj" "$$obj"; done >>$@ + @printf '# %s\n' "${TGT}" >$@ + @for obj in ${OBJS:${OBJ}/%.o=%}; do \ + printf '$${OBJ}/%s.o: %s.c\n' "$$obj" "$$obj"; \ + done | sed 's|: gen/|: $${GEN}/|' >>$@ # External dependencies PKG_MKS := \ @@ -67,7 +69,7 @@ PKG_MKS := \ # Auto-detect dependencies and their build flags ${GEN}/pkgs.mk: ${PKG_MKS} - @printf '# %s\n' "$@" >$@ + @printf '# %s\n' "${TGT}" >$@ @printf 'include $${GEN}/%s\n' ${.ALLSRC:${GEN}/%=%} >>$@ @+${MAKE} -sf config/pkgs.mk .PHONY: ${GEN}/pkgs.mk diff --git a/config/deps.mk b/config/deps.mk index ca178de..e963b6e 100644 --- a/config/deps.mk +++ b/config/deps.mk @@ -10,7 +10,7 @@ include config/exports.mk ${GEN}/deps.mk:: ${MSG} "[ GEN] ${TGT}" - printf '# %s\n' "$@" >$@ + printf '# %s\n' "${TGT}" >$@ if config/cc.sh -MD -MP -MF /dev/null config/empty.c; then \ printf 'DEPFLAGS = -MD -MP -MF $${@:.o=.d}\n'; \ fi >>$@ 2>$@.log diff --git a/config/flags.mk b/config/flags.mk index c9d7913..48f1a08 100644 --- a/config/flags.mk +++ b/config/flags.mk @@ -105,7 +105,7 @@ APPEND = append() { test -z "$$2" || printf '%s += %s\n' "$$1" "$$2" >>$@; }; ap ${GEN}/flags.mk:: ${MSG} "[ GEN] ${TGT}" - printf '# %s\n' "$@" >$@ + printf '# %s\n' "${TGT}" >$@ ${SETVAR} CPPFLAGS "$$BFS_CPPFLAGS" ${APPEND} CPPFLAGS "$$TSAN_CPPFLAGS" ${APPEND} CPPFLAGS "$$LINT_CPPFLAGS" diff --git a/config/pkg.mk b/config/pkg.mk index 482ca17..d2d77b0 100644 --- a/config/pkg.mk +++ b/config/pkg.mk @@ -12,7 +12,7 @@ include config/exports.mk SHORT = ${TARGET:${BUILDDIR}/%=%} default:: - @printf '# %s\n' "${TARGET}" >${TARGET} + @printf '# %s\n' "${SHORT}" >${TARGET} config/pkg.sh ${TARGET:${GEN}/%.mk=%} >>${TARGET} 2>${TARGET}.log @if [ "${IS_V}" ]; then \ cat ${TARGET}; \ diff --git a/config/prelude.mk b/config/prelude.mk index 2bcb208..dbc6875 100644 --- a/config/prelude.mk +++ b/config/prelude.mk @@ -141,10 +141,10 @@ LIBBFS := \ ${OBJ}/src/thread.o \ ${OBJ}/src/trie.o \ ${OBJ}/src/typo.o \ - ${OBJ}/src/version.o \ ${OBJ}/src/xregex.o \ ${OBJ}/src/xspawn.o \ - ${OBJ}/src/xtime.o + ${OBJ}/src/xtime.o \ + ${OBJ}/gen/version.o # Unit test objects UNIT_OBJS := \ -- cgit v1.2.3