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
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
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 =
#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.
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)"