42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
|
|
ifndef VERBOSE
|
||
|
|
MAKEFLAGS += --no-print-directory
|
||
|
|
endif
|
||
|
|
|
||
|
|
CFLAGS := -mcpu=cortex-m0plus -mthumb -g3 -O2 -Wall -ffunction-sections -fdata-sections
|
||
|
|
|
||
|
|
LDFLAGS := -mcpu=cortex-m0plus -mthumb -g3 -O2 -Wall -ffunction-sections -fdata-sections -nostartfiles -T$(SDK_BASE_DIR)/ram.ld -Wl,-Map=app.map
|
||
|
|
|
||
|
|
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)
|
||
|
|
|
||
|
|
build:Makefile
|
||
|
|
$(CMAKE) -S . -B build -G "Unix Makefiles" $(cmake_definition)
|
||
|
|
$(MAKE) -C build -j
|
||
|
|
|
||
|
|
clean::
|
||
|
|
$(RM) build
|
||
|
|
|
||
|
|
.PHONY:build clean
|