ifndef VERBOSE MAKEFLAGS += --no-print-directory endif CFLAGS += -mcpu=cortex-m0plus CFLAGS += -mthumb CFLAGS += -g3 CFLAGS += -O2 CFLAGS += -Wall CFLAGS += -ffunction-sections CFLAGS += -fdata-sections LDFLAGS += -mcpu=cortex-m0plus LDFLAGS += -mthumb LDFLAGS += -g3 LDFLAGS += -O2 LDFLAGS += -Wall LDFLAGS += -Wl,--gc-sections LDFLAGS += -nostartfiles LDFLAGS += -T$(SDK_BASE_DIR)/ram.ld LDFLAGS += -Wl,-Map=$(EXAMPLE_NAME).map LDFLAGS += -Wl,--print-memory-usage CMAKE := cmake # The command to remove a file. RM = $(CMAKE) -E remove_directory COMX ?=COM1 BAUDRATE ?=2000000 # cmake definition config # toolchain cmake_definition+= -DCMAKE_C_COMPILER=$(CROSS_COMPILE)gcc cmake_definition+= -DCMAKE_CXX_COMPILER=$(CROSS_COMPILE)g++ cmake_definition+= -DCMAKE_ASM_COMPILER=$(CROSS_COMPILE)gcc cmake_definition+= -DCMAKE_LINKER=$(CROSS_COMPILE)ld cmake_definition+= -DCMAKE_OBJCOPY=$(CROSS_COMPILE)objcopy cmake_definition+= -DCMAKE_OBJDUMP=$(CROSS_COMPILE)objdump cmake_definition+= -DCMAKE_AR=$(CROSS_COMPILE)ar cmake_definition+= -DCMAKE_RANLIB=$(CROSS_COMPILE)ranlib cmake_definition+= -DCMAKE_C_FLAGS="$(CFLAGS)" cmake_definition+= -DCMAKE_CXX_FLAGS="$(CFLAGS)" cmake_definition+= -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)" cmake_definition+= -DCONFIG_COMX=$(COMX) cmake_definition+= -DSDK_BASE_DIR=$(SDK_BASE_DIR) cmake_definition+= -DEXAMPLE_NAME=$(EXAMPLE_NAME) build:Makefile $(CMAKE) -S . -B build -G "Unix Makefiles" $(cmake_definition) $(MAKE) -C build -j $(CROSS_COMPILE)objcopy -O binary $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).elf $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).bin $(CROSS_COMPILE)objdump -d -S $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).elf > $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).asm clean:: $(RM) build .PHONY:build clean