From 115af44f3a257b52d87a625b900380f5efe2da93 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 15 Oct 2019 18:13:38 +0100 Subject: [PATCH] Configure: Further improvements to filtering of CONFIGURE_DEFINES --- Makefile.src.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile.src.in b/Makefile.src.in index ca6cbf9501..6c0fc68f4f 100644 --- a/Makefile.src.in +++ b/Makefile.src.in @@ -115,7 +115,8 @@ RES := $(shell if [ "`cat $(CONFIG_CACHE_VERSION) 2>/dev/null`" != "$(VERSION) $ # If there is a change in the configure invocation, make sure we recompile rev.cpp RES := $(shell if [ "`cat $(CONFIG_CACHE_INVOCATION) 2>/dev/null`" != "$(CONFIGURE_INVOCATION)" ]; then echo "$(CONFIGURE_INVOCATION)" > $(CONFIG_CACHE_INVOCATION); fi ) -CONFIGURE_DEFINES := $(filter-out PERSONAL_DIR=% GLOBAL_DATA_DIR=%,$(patsubst -D%,%,$(filter -D%,$(CFLAGS)))) +FILTER_OUT = $(foreach v,$(2),$(if $(findstring $(1),$(v)),,$(v))) +CONFIGURE_DEFINES := $(strip $(call FILTER_OUT,_DIR=,$(patsubst -D%,%,$(filter -D%,$(CFLAGS))))) ifndef MAKEDEPEND # The slow, but always correct, dep-check @@ -280,7 +281,7 @@ endif # Revision files $(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(CONFIG_CACHE_INVOCATION) $(SRC_DIR)/rev.cpp.in - $(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@\!\!CONFIGURE_INVOCATION\!\!@$(subst \",\\\\\\\",$(subst @,\\@,$(CONFIGURE_INVOCATION)))@g;s@\!\!CONFIGURE_DEFINES\!\!@$(subst \",\\\\\\\",$(subst @,\\@,$(CONFIGURE_DEFINES)))@g;" > $(SRC_DIR)/rev.cpp + $(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g;s@\!\!CONFIGURE_INVOCATION\!\!@$(subst \",\\\\\\\",$(subst @,\\@,$(CONFIGURE_INVOCATION)))@g;s@\!\!CONFIGURE_DEFINES\!\!@$(subst \",\\\\\\\",$(subst @,\\@,$(subst \\,\\\\,$(CONFIGURE_DEFINES))))@g;" > $(SRC_DIR)/rev.cpp $(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in $(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!ISODATE\!\!@$(ISODATE)@g;s@!!VERSION!!@$(VERSION)@g;s@!!DATE!!@`date +%d.%m.%y`@g;s@!!GITHASH!!@$(GITHASH)@g;s@!!ISTAG!!@$(ISTAG)@g;s@!!ISSTABLETAG!!@$(ISSTABLETAG)@g" > $(SRC_DIR)/os/windows/ottdres.rc