From 1a7c0c9b3c764478e662f526bfd03e9be834791a Mon Sep 17 00:00:00 2001 From: Gleb Chesnokov Date: Fri, 21 Aug 2026 13:05:27 +0300 Subject: [PATCH] scst: Move build mode updates into recipes Do not update the build_mode file while make is only expanding the recipe, since that also happens for dry runs. Run the update as the recipe itself so write failures are reported to the caller. --- scst/Makefile | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/scst/Makefile b/scst/Makefile index e6443f0c4..53e1892b9 100644 --- a/scst/Makefile +++ b/scst/Makefile @@ -24,12 +24,14 @@ SCST_DIR=src # Set variable $(2) to value $(3) in file $(1) if $(2)=$(3) does not yet occur # in file $(1). -set_var = $(shell if grep -q '^$(2)=' '$(1)' 2>/dev/null; then \ - grep -q '^$(2)=$(3)$$' '$(1)' || \ - sed -i 's/^$(2)=.*/$(2)=$(3)/' '$(1)'; \ - else \ - echo '$(2)=$(3)' >> '$(1)'; \ - fi) +define set_var +if grep -q '^$(2)=' '$(1)' 2>/dev/null; then \ + grep -q '^$(2)=$(3)$$' '$(1)' || \ + sed -i 's/^$(2)=.*/$(2)=$(3)/' '$(1)'; \ +else \ + echo '$(2)=$(3)' >> '$(1)'; \ +fi +endef all: include/build_mode.h cd $(SCST_DIR) && $(MAKE) $@ @@ -48,23 +50,20 @@ extraclean: cd $(SCST_DIR) && $(MAKE) $@ 2debug: - $(call set_var,build_mode,BUILD_MODE,) - @true + @$(call set_var,build_mode,BUILD_MODE,) 2release: - $(call set_var,build_mode,BUILD_MODE,RELEASE) - @true + @$(call set_var,build_mode,BUILD_MODE,RELEASE) 2perf: - $(call set_var,build_mode,BUILD_MODE,PERF) - @true + @$(call set_var,build_mode,BUILD_MODE,PERF) release-archive: ../scripts/generate-release-archive scst \ "$$(sed -n 's/^#define[[:blank:]]SCST_VERSION_NAME[[:blank:]]*\"\([^\"]*\)\".*/\1/p' include/scst_const.h)" build_mode: - $(call set_var,build_mode,BUILD_MODE,) + @$(call set_var,build_mode,BUILD_MODE,) include/build_mode.h: build_mode @rm -f $@.tmp; \