mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
caea069bcf
An application might want to use C11 features. The user would assume that setting `CFLAGS=-std=gnu11` in the Makefile would work. It does not since the board's Makefile.include shadows the `-std` flag. This patch removes the `-std=gnu99` from the various Makefile.includes, and sets the flag in the common Makefile.include of RIOT instead. If an `-std` flag was provided by an earlier Makefile (the application, the board, or the CPU [whilst only the former one should]), then no additional flag is set. It is first tested if the supplied compiler understands `-std=gnu99`, then `-std=c99`.
32 lines
1.0 KiB
Makefile
32 lines
1.0 KiB
Makefile
## the cpu to build for
|
|
export CPU = mc1322x
|
|
|
|
# toolchain config
|
|
export PREFIX = arm-none-eabi-
|
|
export CC = $(PREFIX)gcc
|
|
export AR = $(PREFIX)ar
|
|
export CFLAGS += -march=armv4t -mtune=arm7tdmi-s -mlong-calls \
|
|
-msoft-float -mthumb-interwork -fno-strict-aliasing -fno-common \
|
|
-ffixed-r8 -ffunction-sections -ffreestanding -fno-builtin \
|
|
-nodefaultlibs -Wcast-align -Wall -Wstrict-prototypes -Wextra \
|
|
-Os -pipe
|
|
export CFLAGS_MTHUMB ?= -mthumb
|
|
$(warning TODO add -mthumb)
|
|
export AFLAGS = -Wa,-gstabs $(CFLAGS)
|
|
export AS = $(PREFIX)as
|
|
export LINK = $(PREFIX)gcc
|
|
export SIZE = $(PREFIX)size
|
|
export OBJCOPY = $(PREFIX)objcopy
|
|
FLASHER = mc1322x-load.pl
|
|
TERM = pyterm.py
|
|
LINKFLAGS = -mcpu=arm7tdmi-s -static -lgcc -nostartfiles -T$(RIOTBASE)/cpu/$(CPU)/mc1322x.lds
|
|
|
|
ifeq ($(strip $(PORT)),)
|
|
export PORT = /dev/ttyUSB0
|
|
endif
|
|
export HEXFILE = $(BINDIR)/$(PROJECT).hex
|
|
export FFLAGS = -t $(PORT) -f $(HEXFILE) -c 'bbmc -l redbee-econotag reset'
|
|
export OFLAGS = -O binary --gap-fill=0xff
|
|
|
|
export INCLUDES += -I $(RIOTCPU)/$(CPU)/include/
|