diff --git a/drivers/segger/Make.defs b/drivers/segger/Make.defs index ee0f58fc29..54085a515e 100644 --- a/drivers/segger/Make.defs +++ b/drivers/segger/Make.defs @@ -27,11 +27,11 @@ ifeq ($(CONFIG_SEGGER_RTT),y) CFLAGS += -Wno-shadow -Wno-array-bounds ifneq ($(CONFIG_SEGGER_RTT_SECTION),"") - CFLAGS += ${shell $(DEFINE) "$(CC)" SEGGER_RTT_SECTION=CONFIG_SEGGER_RTT_SECTION} + CFLAGS += ${DEFINE_PREFIX}SEGGER_RTT_SECTION=CONFIG_SEGGER_RTT_SECTION endif ifneq ($(CONFIG_SEGGER_RTT_BUFFER_SECTION),"") - CFLAGS += ${shell $(DEFINE) "$(CC)" SEGGER_RTT_BUFFER_SECTION=CONFIG_SEGGER_RTT_BUFFER_SECTION} + CFLAGS += ${DEFINE_PREFIX}SEGGER_RTT_BUFFER_SECTION=CONFIG_SEGGER_RTT_BUFFER_SECTION endif CFLAGS += ${shell $(INCDIR) "$(CC)" segger$(DELIM)config} diff --git a/drivers/syslog/Make.defs b/drivers/syslog/Make.defs index 9bdc0165c5..2b49d2a6f9 100644 --- a/drivers/syslog/Make.defs +++ b/drivers/syslog/Make.defs @@ -38,7 +38,7 @@ ifeq ($(CONFIG_RAMLOG),y) CSRCS += ramlog.c ifneq ($(CONFIG_RAMLOG_BUFFER_SECTION),"") - CFLAGS += ${shell $(DEFINE) "$(CC)" RAMLOG_BUFFER_SECTION=CONFIG_RAMLOG_BUFFER_SECTION} + CFLAGS += ${DEFINE_PREFIX}RAMLOG_BUFFER_SECTION=CONFIG_RAMLOG_BUFFER_SECTION endif endif diff --git a/libs/libxx/libcxx.defs b/libs/libxx/libcxx.defs index 52f64f9086..f08576cb22 100644 --- a/libs/libxx/libcxx.defs +++ b/libs/libxx/libcxx.defs @@ -50,10 +50,11 @@ ifeq ($(wildcard libcxx/.git),) $(call DELDIR, libcxx) endif -CXXFLAGS += -std=c++17 ${shell $(DEFINE) "$(CC)" _LIBCPP_BUILDING_LIBRARY} +CXXFLAGS += -std=c++17 +CXXFLAGS += ${DEFINE_PREFIX}_LIBCPP_BUILDING_LIBRARY ifeq ($(CONFIG_LIBSUPCXX), y) -CXXFLAGS += ${shell $(DEFINE) "$(CC)" __GLIBCXX__} +CXXFLAGS += ${DEFINE_PREFIX}__GLIBCXX__ endif # Workaround the following warning with "c++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0" diff --git a/libs/libxx/libcxxabi.defs b/libs/libxx/libcxxabi.defs index ba7209bec6..874f5ddd45 100644 --- a/libs/libxx/libcxxabi.defs +++ b/libs/libxx/libcxxabi.defs @@ -40,7 +40,7 @@ context:: libcxxabi endif ifeq ($(CONFIG_LIBCXXABI), y) -CXXFLAGS += ${shell $(DEFINE) "$(CC)" LIBCXX_BUILDING_LIBCXXABI} +CXXFLAGS += ${DEFINE_PREFIX}LIBCXX_BUILDING_LIBCXXABI CXXFLAGS += -I $(TOPDIR)/libs/libxx/libcxxabi/include endif @@ -53,7 +53,7 @@ CPPSRCS += stdlib_exception.cpp stdlib_new_delete.cpp stdlib_stdexcept.cpp stdli CPPSRCS += abort_message.cpp fallback_malloc.cpp private_typeinfo.cpp ifeq ($(CONFIG_CXX_EXCEPTION), y) -CXXFLAGS += ${shell $(DEFINE) "$(CC)" LIBCXXABI_ENABLE_EXCEPTIONS} +CXXFLAGS += ${DEFINE_PREFIX}LIBCXXABI_ENABLE_EXCEPTIONS CPPSRCS += cxa_exception.cpp cxa_personality.cpp else CPPSRCS += cxa_noexception.cpp diff --git a/mm/iob/Make.defs b/mm/iob/Make.defs index 5ecd99cc93..fab7171de0 100644 --- a/mm/iob/Make.defs +++ b/mm/iob/Make.defs @@ -39,7 +39,7 @@ ifeq ($(CONFIG_DEBUG_FEATURES),y) endif ifneq ($(CONFIG_IOB_SECTION),"") - CFLAGS += ${shell $(DEFINE) "$(CC)" IOB_SECTION=CONFIG_IOB_SECTION} + CFLAGS += ${DEFINE_PREFIX}IOB_SECTION=CONFIG_IOB_SECTION endif # Include iob build support diff --git a/tools/Config.mk b/tools/Config.mk index c9f7f1d47b..73a0601889 100644 --- a/tools/Config.mk +++ b/tools/Config.mk @@ -106,7 +106,7 @@ endif # This define is passed as EXTRAFLAGS for kernel-mode builds. It is also passed # during PASS1 (but not PASS2) context and depend targets. -KDEFINE ?= ${shell $(DEFINE) "$(CC)" __KERNEL__} +KDEFINE ?= ${DEFINE_PREFIX}__KERNEL__ # DELIM - Path segment delimiter character # @@ -577,11 +577,12 @@ $(1)_$(2): endef -# ARCHxxx means the predefined setting(either toolchain, arch, or system specific) +export DEFINE_PREFIX := $(subst X,,${shell $(DEFINE) "$(CC)" "X"}) -ARCHDEFINES += ${shell $(DEFINE) "$(CC)" __NuttX__} +# ARCHxxx means the predefined setting(either toolchain, arch, or system specific) +ARCHDEFINES += ${DEFINE_PREFIX}__NuttX__ ifeq ($(CONFIG_NDEBUG),y) - ARCHDEFINES += ${shell $(DEFINE) "$(CC)" NDEBUG} + ARCHDEFINES += ${DEFINE_PREFIX}NDEBUG endif # The default C/C++ search path