@@ -17,14 +17,17 @@ LIST=$(FAMILY).list
1717MAP =$(FAMILY ) .map
1818SIZE =$(FAMILY ) .size
1919BUILD =build_gd32/
20-
2120FIRMWARE_DIR =./../firmware-template-gd32/
2221
23- DEFINES: =$(addprefix -D,$(DEFINES ) )
22+ PROJECT =$(notdir $(patsubst % /,% ,$(CURDIR ) ) )
23+ $(info $$PROJECT [${PROJECT}])
24+
25+ DEFINES: =$(addprefix -D,$(DEFINES ) ) -DCONFIG_NETWORK_MEMORY_BLOCKS=1
2426
2527include ../common/make/gd32/Board.mk
2628include ../common/make/gd32/Mcu.mk
2729include ../common/make/gd32/Includes.mk
30+ include ../common/make/Timestamp.mk
2831include ../common/make/gd32/Validate.mk
2932
3033LIBS+ =network superloop board gd32 clib
@@ -50,11 +53,9 @@ COPS+=-Os -nostartfiles -ffreestanding -nostdlib
5053COPS+ =-fstack-usage
5154COPS+ =-ffunction-sections -fdata-sections
5255COPS+ =-Wall -Werror -Wpedantic -Wextra -Wunused -Wsign-conversion -Wconversion -Wduplicated-cond -Wlogical-op
56+ COPS+=--specs =nosys.specs
5357
54- CPPOPS=-std =c++20
55- CPPOPS+ =-Wnon-virtual-dtor -Woverloaded-virtual -Wnull-dereference -fno-rtti -fno-exceptions -fno-unwind-tables
56- CPPOPS+ =-Wuseless-cast -Wold-style-cast
57- CPPOPS+ =-fno-threadsafe-statics
58+ include ../common/make/CppOps.mk
5859
5960LDOPS =--gc-sections --print-gc-sections --print-memory-usage
6061
@@ -63,12 +64,12 @@ PLATFORM_LIBGCC+= -L $(shell dirname `$(CC) $(COPS) -print-libgcc-file-name`)
6364$(info $$PLATFORM_LIBGCC [${PLATFORM_LIBGCC}])
6465
6566C_OBJECTS =$(foreach sdir,$(SRCDIR ) ,$(patsubst $(sdir ) /% .c,$(BUILD )$(sdir ) /% .o,$(wildcard $(sdir ) /* .c) ) )
66- C_OBJECTS + =$(foreach sdir,$(SRCDIR ) ,$(patsubst $(sdir ) /% .cpp,$(BUILD )$(sdir ) /% .o,$(wildcard $(sdir ) /* .cpp) ) )
67+ CPP_OBJECTS + =$(foreach sdir,$(SRCDIR ) ,$(patsubst $(sdir ) /% .cpp,$(BUILD )$(sdir ) /% .o,$(wildcard $(sdir ) /* .cpp) ) )
6768ASM_OBJECTS =$(foreach sdir,$(SRCDIR ) ,$(patsubst $(sdir ) /% .S,$(BUILD )$(sdir ) /% .o,$(wildcard $(sdir ) /* .S) ) )
6869
6970BUILD_DIRS: =$(addprefix $(BUILD ) ,$(SRCDIR ) )
7071
71- OBJECTS: =$(ASM_OBJECTS ) $(C_OBJECTS )
72+ OBJECTS: =$(strip $( ASM_OBJECTS ) $(C_OBJECTS ) $( CPP_OBJECTS ) )
7273
7374define compile-objects
7475$(BUILD ) $1/%.o: $1/%.cpp
@@ -105,15 +106,12 @@ clean: $(LIBDEP)
105106lisdep : $(LIBDEP )
106107
107108$(LIBDEP ) :
108- $(MAKE ) -f Makefile.GD32 $(MAKECMDGOALS ) ' FAMILY=${FAMILY}' ' BOARD=${BOARD}' ' ENET_PHY=${ENET_PHY}' ' MAKE_FLAGS=$(DEFINES)' -C $@
109+ $(MAKE ) -f Makefile.GD32 $(MAKECMDGOALS ) ' PROJECT=${PROJECT} ' ' FAMILY=${FAMILY} ' ' MCU=${MCU }' ' BOARD=${BOARD}' ' ENET_PHY=${ENET_PHY}' ' MAKE_FLAGS=$(DEFINES)' -C $@
109110
110111#
111112# Build bin
112113#
113114
114- $(BUILD_DIRS ) :
115- mkdir -p $(BUILD_DIRS )
116-
117115$(BUILD ) startup_$(LINE ) .o : $(FIRMWARE_DIR ) /startup_$(LINE ) .S
118116 $(AS ) $(COPS ) -D__ASSEMBLY__ -c $(FIRMWARE_DIR ) /startup_$(LINE ) .S -o $(BUILD ) startup_$(LINE ) .o
119117
@@ -124,7 +122,7 @@ $(BUILD)stack_debug_init.o : $(FIRMWARE_DIR)/stack_debug_init.cpp
124122 $(CPP ) $(COPS ) $(CPPOPS ) -c $(FIRMWARE_DIR ) /stack_debug_init.cpp -o $(BUILD ) stack_debug_init.o
125123
126124$(BUILD ) main.elf : Makefile.GD32 $(LINKER ) $(BUILD ) startup_$(LINE ) .o $(BUILD ) hardfault_handler.o $(BUILD ) stack_debug_init.o $(OBJECTS ) $(LIBDEP )
127- $(LD ) $(BUILD ) startup_$(LINE ) .o $(BUILD ) hardfault_handler.o $(OBJECTS ) $( BUILD ) stack_debug_init.o -Map $(MAP ) -T $(LINKER ) $(LDOPS ) -o $(BUILD ) main.elf $(LIBGD32 ) $(LDLIBS ) $(PLATFORM_LIBGCC ) -lgcc
125+ $(LD ) $(BUILD ) startup_$(LINE ) .o $(BUILD ) hardfault_handler.o $(BUILD ) stack_debug_init.o $( OBJECTS ) -Map $(MAP ) -T $(LINKER ) $(LDOPS ) -o $(BUILD ) main.elf $(LIBGD32 ) $(LDLIBS ) $(PLATFORM_LIBGCC ) -lgcc
128126 $(PREFIX ) objdump -D $(BUILD ) main.elf | $(PREFIX ) c++filt > $(LIST )
129127 $(PREFIX ) size -A -x $(BUILD ) main.elf
130128
0 commit comments