From cb3fee9612eca5ece0a490a3a6ed4c0c3537899f Mon Sep 17 00:00:00 2001 From: Markham Date: Sat, 7 Nov 2026 16:54:41 +0100 Subject: [PATCH] fix handle CPP, CXX and CFLAGS --- make/applications.mk | 4 +-- make/environment-build.mk | 4 +++ make/neutrino.mk | 53 +++++++++++++++++++++------------------ 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/make/applications.mk b/make/applications.mk index d893393..642368a 100755 --- a/make/applications.mk +++ b/make/applications.mk @@ -449,8 +449,8 @@ $(D)/gdb-inline: $(D)/zlib $(D)/libncurses $(ARCHIVE)/gdb-$(GDB_VER).tar.xz | $( set -e; cd $(BUILD_TMP)/gdb-$(GDB_VER); \ export PATH="$(BUILD_TMP):$(CROSS_DIR)/bin:$$PATH"; \ export CFLAGS="$(STD_CFLAGS) $(TARGET_EXTRA_CFLAGS) -Wno-error=implicit-function-declaration"; \ - export CPPFLAGS="$(STD_CFLAGS) $(TARGET_EXTRA_CFLAGS) -Wno-error=implicit-function-declaration"; \ - export CXXFLAGS="$(STD_CFLAGS) $(TARGET_EXTRA_CFLAGS) -Wno-error=implicit-function-declaration"; \ + export CPPFLAGS="$(STD_CFLAGS) $(TARGET_EXTRA_CXXFLAGS) -Wno-error=implicit-function-declaration"; \ + export CXXFLAGS="$(STD_CFLAGS) $(TARGET_EXTRA_CXXFLAGS) -Wno-error=implicit-function-declaration"; \ export LDFLAGS="$(TARGET_LDFLAGS) -Wno-error"; \ export ARFLAGS=cr; \ export PKG_CONFIG_PATH="$(TARGETPREFIX)/lib/pkgconfig:$(TARGETPREFIX)/usr/lib/pkgconfig"; \ diff --git a/make/environment-build.mk b/make/environment-build.mk index f1e7dfb..950f58f 100755 --- a/make/environment-build.mk +++ b/make/environment-build.mk @@ -102,6 +102,7 @@ ifeq ($(BOXSERIES), hd1) TARGET_ABI = -march=$(TARGET_CPU) -mfloat-abi=soft -mlittle-endian TARGET_ENDIAN = little TARGET_EXTRA_CFLAGS = -fdata-sections -ffunction-sections + TARGET_EXTRA_CXXFLAGS = TARGET_EXTRA_LDFLAGS = -flto=auto -Wl,--gc-sections CXX11_ABI = -D_GLIBCXX_USE_CXX11_ABI=0 @@ -114,10 +115,12 @@ else ifeq ($(BOXSERIES), hd2) TARGET_ABI = -march=$(TARGET_CPU) -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian TARGET_ENDIAN = little TARGET_EXTRA_CFLAGS = + TARGET_EXTRA_CXXFLAGS = TARGET_EXTRA_LDFLAGS = -flto=auto ifeq ($(BOXMODEL),kronos_v2) TARGET_O_CFLAGS = -Os -flto=auto TARGET_EXTRA_CFLAGS = -fdata-sections -ffunction-sections + TARGET_EXTRA_CXXFLAGS = TARGET_EXTRA_LDFLAGS = -flto=auto -Wl,--gc-sections endif CXX11_ABI = -D_GLIBCXX_USE_CXX11_ABI=0 @@ -131,6 +134,7 @@ else ifeq ($(BOXSERIES),$(filter $(BOXSERIES), hd5x hd6x)) TARGET_ABI = -march=$(TARGET_CPU) -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard TARGET_ENDIAN = little TARGET_EXTRA_CFLAGS = -Wno-implicit-function-declaration + TARGET_EXTRA_CXXFLAGS = TARGET_EXTRA_LDFLAGS = -flto=auto CXX11_ABI = diff --git a/make/neutrino.mk b/make/neutrino.mk index 10fce2b..5d4646a 100755 --- a/make/neutrino.mk +++ b/make/neutrino.mk @@ -1,44 +1,49 @@ #Makefile to build NEUTRINO -N_CFLAGS = -Wall -Wshadow -Wsign-compare $(TARGET_ABI) $(CXX11_ABI) -#N_CFLAGS = -Wextra +# Common flags for C and C++ +N_COMMON_FLAGS = -Wall -Wshadow -Wsign-compare $(TARGET_ABI) $(CXX11_ABI) +#N_COMMON_FLAGS = -Wextra ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd2 hd5x hd6x)) -N_CFLAGS += -Wformat-truncation=0 -Wno-ignored-qualifiers -N_CFLAGS += -Wno-int-in-bool-context -Wno-cast-function-type +N_COMMON_FLAGS += -Wformat-truncation=0 -Wno-ignored-qualifiers +N_COMMON_FLAGS += -Wno-int-in-bool-context -Wno-cast-function-type endif -N_CFLAGS += -fmax-errors=10 -N_CFLAGS += -D__KERNEL_STRICT_NAMES -N_CFLAGS += -DNEW_LIBCURL -#N_CFLAGS += -fno-strict-aliasing +N_COMMON_FLAGS += -fmax-errors=10 +N_COMMON_FLAGS += -D__KERNEL_STRICT_NAMES +N_COMMON_FLAGS += -DNEW_LIBCURL +#N_COMMON_FLAGS += -fno-strict-aliasing N_CLAGSS += -D_FILE_OFFSET_BITS=64 -#N_CFLAGS += -D__STDC_FORMAT_MACROS -N_CFLAGS += -DDYNAMIC_LUAPOSIX -N_CFLAGS += -D__STDC_CONSTANT_MACROS -N_CFLAGS += -Wno-psabi +#N_COMMON_FLAGS += -D__STDC_FORMAT_MACROS +N_COMMON_FLAGS += -DDYNAMIC_LUAPOSIX +N_COMMON_FLAGS += -D__STDC_CONSTANT_MACROS +N_COMMON_FLAGS += -Wno-psabi ifeq ($(BOXFAMILY), $(filter $(BOXFAMILY), apollo kronos)) -#N_CFLAGS += -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -N_CFLAGS += -DFB_HW_ACCELERATION +#N_COMMON_FLAGS += -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard +N_COMMON_FLAGS += -DFB_HW_ACCELERATION endif ifeq ($(BOXFAMILY), $(filter $(BOXFAMILY), nevis)) -#N_CFLAGS += -DUSE_NEVIS_GXA -N_CFLAGS += +#N_COMMON_FLAGS += -DUSE_NEVIS_GXA +N_COMMON_FLAGS += endif -N_CFLAGS += -I$(TARGETPREFIX)/include -N_CFLAGS += -I$(NEUTRINO_OBJDIR) -N_CFLAGS += -I$(NEUTRINO_OBJDIR)/src/gui +N_COMMON_FLAGS += -I$(TARGETPREFIX)/include +N_COMMON_FLAGS += -I$(NEUTRINO_OBJDIR) +N_COMMON_FLAGS += -I$(NEUTRINO_OBJDIR)/src/gui +# C-specific and C++-specific flags ifeq ($(DEBUG), yes) ifeq ($(BOXSERIES), hd1) - N_CFLAGS += -O0 -gdwarf-4 -ggdb3 -rdynamic + N_CFLAGS = $(N_COMMON_FLAGS) -O0 -gdwarf-4 -ggdb3 -rdynamic + N_CXXFLAGS = $(N_COMMON_FLAGS) -O0 -gdwarf-4 -ggdb3 -rdynamic else - N_CFLAGS += -O0 -g -ggdb3 -rdynamic + N_CFLAGS = $(N_COMMON_FLAGS) -O0 -g -ggdb3 -rdynamic + N_CXXFLAGS = $(N_COMMON_FLAGS) -O0 -g -ggdb3 -rdynamic endif else - N_CFLAGS += $(TARGET_CFLAGS) + N_CFLAGS = $(N_COMMON_FLAGS) $(TARGET_CFLAGS) + N_CXXFLAGS = $(N_COMMON_FLAGS) $(STD_CFLAGS) $(TARGET_EXTRA_CXXFLAGS) endif # the original build script links against openssl. @@ -64,8 +69,8 @@ N_BUILDENV = \ OBJDUMP=$(TARGET)-objdump \ READELF=$(TARGET)-readelf \ CFLAGS="$(N_CFLAGS)" \ - CPPFLAGS="$(N_CFLAGS)" \ - CXXFLAGS="$(N_CFLAGS) -std=c++11" \ + CPPFLAGS="$(N_CXXFLAGS)" \ + CXXFLAGS="$(N_CXXFLAGS) -std=c++11" \ LDFLAGS="$(N_LDFLAGS)" -- 2.39.5