mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
59 lines
2.1 KiB
Makefile
59 lines
2.1 KiB
Makefile
## 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 -mthumb-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 -mthumb-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 </dev/null ; echo $$?),0)
|
|
export LINKFLAGS += -specs=nano.specs -lc -lnosys
|
|
endif
|
|
|
|
# export board specific includes to the global includes-listing
|
|
export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include/ -I$(RIOTBASE)/drivers/at86rf231/include -I$(RIOTBASE)/sys/net/include
|
|
|
|
include $(RIOTBOARD)/$(BOARD)/Makefile.dep
|