## the cpu to build for export CPU = stm32f1 export CPU_MODEL = stm32f103re # set default port depending on operating system OS := $(shell uname) ifeq ($(OS),Linux) PORT ?= /dev/ttyUSB1 else ifeq ($(OS),Darwin) PORT ?= $(shell ls -1 /dev/tty.usbserial* | head -n 1) else $(info CAUTION: No PORT was defined for your host platform!) # TODO: add support for windows as host platform endif export PORT # define tools used for building the project export PREFIX = arm-none-eabi- export CC = $(PREFIX)gcc export CXX = $(PREFIX)g++ export AR = $(PREFIX)ar export AS = $(PREFIX)as export LINK = $(PREFIX)gcc export SIZE = $(PREFIX)size export OBJCOPY = $(PREFIX)objcopy export TERMPROG = $(RIOTBASE)/dist/tools/pyterm/pyterm export FLASHER = $(RIOTBOARD)/$(BOARD)/dist/flash.sh export DEBUGGER = $(RIOTBOARD)/$(BOARD)/dist/debug.sh export RESET = $(RIOTBOARD)/$(BOARD)/dist/reset.sh # define build specific options export CPU_USAGE = -mcpu=cortex-m3 export FPU_USAGE = export CFLAGS += -ggdb -g3 -std=gnu99 -Os -Wall -Wstrict-prototypes $(CPU_USAGE) $(FPU_USAGE) -mlittle-endian -mthumb -mno-thumb-interwork -nostartfiles export CFLAGS += -ffunction-sections -fdata-sections -fno-builtin # unwanted (CXXUWFLAGS) and extra (CXXEXFLAGS) flags for c++ export CXXUWFLAGS += export CXXEXFLAGS += export ASFLAGS += -ggdb -g3 $(CPU_USAGE) $(FPU_USAGE) -mlittle-endian export LINKFLAGS += -ggdb -g3 -std=gnu99 $(CPU_USAGE) $(FPU_USAGE) -mlittle-endian -static -lgcc -mthumb -mno-thumb-interwork -nostartfiles # $(LINKERSCRIPT) is specified in cpu/Makefile.include export LINKFLAGS += -T$(LINKERSCRIPT) export OFLAGS = -O ihex export FFLAGS = $(HEXFILE) export DEBUGGER_FLAGS = $(RIOTBOARD)/$(BOARD)/dist/gdb.conf $(ELFFILE) export TERMFLAGS = -p $(PORT) # use the nano-specs of the NewLib when available ifeq ($(shell $(LINK) -specs=nano.specs -E - 2>/dev/null >/dev/null