Various fixes for C++ compilation.
This commit is contained in:
parent
503e66a500
commit
80f454d546
@ -115,6 +115,7 @@ $(1)_CPPFLAGS ?= $(CPPFLAGS)
|
|||||||
$(1)_CFLAGS ?= $(CFLAGS)
|
$(1)_CFLAGS ?= $(CFLAGS)
|
||||||
$(1)_CXXFLAGS ?= $(CXXFLAGS)
|
$(1)_CXXFLAGS ?= $(CXXFLAGS)
|
||||||
$(1)_CC_BASE = $(Q) $(CC) $$(addprefix -I,$$(INC_DIRS)) $$(addprefix -I,$$($(1)_INC_DIR)) $$($(1)_CPPFLAGS)
|
$(1)_CC_BASE = $(Q) $(CC) $$(addprefix -I,$$(INC_DIRS)) $$(addprefix -I,$$($(1)_INC_DIR)) $$($(1)_CPPFLAGS)
|
||||||
|
$(1)_CXX_BASE = $(Q) $(C++) $$(addprefix -I,$$(INC_DIRS)) $$(addprefix -I,$$($(1)_INC_DIR)) $$($(1)_CPPFLAGS)
|
||||||
$(1)_AR = $(call lc,$(BUILD_DIR)$(1).a)
|
$(1)_AR = $(call lc,$(BUILD_DIR)$(1).a)
|
||||||
|
|
||||||
$$($(1)_OBJ_DIR)%.o: $$($(1)_REAL_ROOT)%.c $$($(1)_MAKEFILE) $(wildcard $(ROOT)*.mk) | $$($(1)_SRC_DIR)
|
$$($(1)_OBJ_DIR)%.o: $$($(1)_REAL_ROOT)%.c $$($(1)_MAKEFILE) $(wildcard $(ROOT)*.mk) | $$($(1)_SRC_DIR)
|
||||||
@ -126,8 +127,8 @@ $$($(1)_OBJ_DIR)%.o: $$($(1)_REAL_ROOT)%.c $$($(1)_MAKEFILE) $(wildcard $(ROOT)*
|
|||||||
$$($(1)_OBJ_DIR)%.o: $$($(1)_REAL_ROOT)%.cpp $$($(1)_MAKEFILE) $(wildcard $(ROOT)*.mk) | $$($(1)_SRC_DIR)
|
$$($(1)_OBJ_DIR)%.o: $$($(1)_REAL_ROOT)%.cpp $$($(1)_MAKEFILE) $(wildcard $(ROOT)*.mk) | $$($(1)_SRC_DIR)
|
||||||
$(vecho) "C++ $$<"
|
$(vecho) "C++ $$<"
|
||||||
$(Q) mkdir -p $$(dir $$@)
|
$(Q) mkdir -p $$(dir $$@)
|
||||||
$$($(1)_CC_BASE) $$($(1)_CXXFLAGS) -c $$< -o $$@
|
$$($(1)_CXX_BASE) $$($(1)_CXXFLAGS) -c $$< -o $$@
|
||||||
$$($(1)_CC_BASE) $$($(1)_CXXFLAGS) -MM -MT $$@ -MF $$(@:.o=.d) $$<
|
$$($(1)_CXX_BASE) $$($(1)_CXXFLAGS) -MM -MT $$@ -MF $$(@:.o=.d) $$<
|
||||||
|
|
||||||
$$($(1)_OBJ_DIR)%.o: $$($(1)_REAL_ROOT)%.S $$($(1)_MAKEFILE) $(wildcard $(ROOT)*.mk) | $$($(1)_SRC_DIR)
|
$$($(1)_OBJ_DIR)%.o: $$($(1)_REAL_ROOT)%.S $$($(1)_MAKEFILE) $(wildcard $(ROOT)*.mk) | $$($(1)_SRC_DIR)
|
||||||
$(vecho) "AS $$<"
|
$(vecho) "AS $$<"
|
||||||
|
|||||||
@ -6,7 +6,7 @@ INC_DIRS += $(LWIP_DIR)include $(ROOT)lwip/include $(lwip_ROOT)include $(LWIP_DI
|
|||||||
# args for passing into compile rule generation
|
# args for passing into compile rule generation
|
||||||
lwip_INC_DIR = # all in INC_DIRS, needed for normal operation
|
lwip_INC_DIR = # all in INC_DIRS, needed for normal operation
|
||||||
lwip_SRC_DIR = $(lwip_ROOT) $(LWIP_DIR)api $(LWIP_DIR)core $(LWIP_DIR)core/ipv4 $(LWIP_DIR)core/ipv6 $(LWIP_DIR)netif
|
lwip_SRC_DIR = $(lwip_ROOT) $(LWIP_DIR)api $(LWIP_DIR)core $(LWIP_DIR)core/ipv4 $(LWIP_DIR)core/ipv6 $(LWIP_DIR)netif
|
||||||
lwip_SRC_DIR += $(LWIP_DIR)apps/*
|
#lwip_SRC_DIR += $(LWIP_DIR)apps/*
|
||||||
|
|
||||||
$(eval $(call component_compile_rules,lwip))
|
$(eval $(call component_compile_rules,lwip))
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ ESPPORT ?= /dev/ttyUSB0
|
|||||||
ESPBAUD ?= 115200
|
ESPBAUD ?= 115200
|
||||||
|
|
||||||
# firmware tool arguments
|
# firmware tool arguments
|
||||||
ESPTOOL_ARGS=-fs $(FLASH_SIZE)m -fm $(FLASH_MODE) -ff $(FLASH_SPEED)m
|
ESPTOOL_ARGS=-fs $(FLASH_SIZE) -fm $(FLASH_MODE) -ff $(FLASH_SPEED)m
|
||||||
|
|
||||||
|
|
||||||
# set this to 0 if you don't need floating point support in printf/scanf
|
# set this to 0 if you don't need floating point support in printf/scanf
|
||||||
@ -88,9 +88,9 @@ WARNINGS_AS_ERRORS ?= 0
|
|||||||
# Common flags for both C & C++_
|
# Common flags for both C & C++_
|
||||||
C_CXX_FLAGS ?= -Wall -Wl,-EL -nostdlib $(EXTRA_C_CXX_FLAGS)
|
C_CXX_FLAGS ?= -Wall -Wl,-EL -nostdlib $(EXTRA_C_CXX_FLAGS)
|
||||||
# Flags for C only
|
# Flags for C only
|
||||||
CFLAGS ?= $(C_CXX_FLAGS) -std=gnu99 $(EXTRA_CFLAGS)
|
CFLAGS ?= $(C_CXX_FLAGS) -std=gnu11 $(EXTRA_CFLAGS)
|
||||||
# Flags for C++ only
|
# Flags for C++ only
|
||||||
CXXFLAGS ?= $(C_CXX_FLAGS) -std=c++0x -fno-exceptions -fno-rtti $(EXTRA_CXXFLAGS)
|
CXXFLAGS ?= $(C_CXX_FLAGS) --std=c++20 -fno-exceptions -fno-rtti $(EXTRA_CXXFLAGS)
|
||||||
|
|
||||||
# these aren't all technically preprocesor args, but used by all 3 of C, C++, assembler
|
# these aren't all technically preprocesor args, but used by all 3 of C, C++, assembler
|
||||||
CPPFLAGS += -mlongcalls -mtext-section-literals
|
CPPFLAGS += -mlongcalls -mtext-section-literals
|
||||||
@ -130,10 +130,10 @@ CPPFLAGS += -DGITSHORTREV=$(GITSHORTREV)
|
|||||||
LINKER_SCRIPTS += $(ROOT)ld/program.ld $(ROOT)ld/rom.ld
|
LINKER_SCRIPTS += $(ROOT)ld/program.ld $(ROOT)ld/rom.ld
|
||||||
|
|
||||||
# rboot firmware binary paths for flashing
|
# rboot firmware binary paths for flashing
|
||||||
|
RBOOT_CONF ?= $(ROOT)bootloader/firmware_prebuilt/blank_config.bin
|
||||||
RBOOT_ARGS ?= 0x0 $(RBOOT_BIN) 0x1000 $(RBOOT_CONF)
|
RBOOT_ARGS ?= 0x0 $(RBOOT_BIN) 0x1000 $(RBOOT_CONF)
|
||||||
RBOOT_BIN = $(ROOT)bootloader/firmware/rboot.bin
|
RBOOT_BIN = $(ROOT)bootloader/firmware/rboot.bin
|
||||||
RBOOT_PREBUILT_BIN = $(ROOT)bootloader/firmware_prebuilt/rboot.bin
|
RBOOT_PREBUILT_BIN = $(ROOT)bootloader/firmware_prebuilt/rboot.bin
|
||||||
RBOOT_CONF = $(ROOT)bootloader/firmware_prebuilt/blank_config.bin
|
|
||||||
|
|
||||||
# if a custom bootloader hasn't been compiled, use the
|
# if a custom bootloader hasn't been compiled, use the
|
||||||
# prebuilt binary from the source tree
|
# prebuilt binary from the source tree
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user