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`.
28 lines
1.1 KiB
Makefile
28 lines
1.1 KiB
Makefile
## the cpu to build for
|
|
export CPU = lpc1768
|
|
|
|
# toolchain config
|
|
export PREFIX = arm-none-eabi-
|
|
export CC = $(PREFIX)gcc
|
|
export AR = $(PREFIX)ar
|
|
export CFLAGS += -DUSE_STDPERIPH_DRIVER -ggdb -g3 -O0 -Wall -Wstrict-prototypes -mcpu=cortex-m3 $(FPU_USAGE) -mlittle-endian -mthumb -mthumb-interwork -nostartfiles
|
|
export ASFLAGS = -ggdb -g3 -mcpu=cortex-m3 $(FPU_USAGE) -mlittle-endian
|
|
export AS = $(PREFIX)as
|
|
export LINK = $(PREFIX)gcc
|
|
export SIZE = $(PREFIX)size
|
|
export OBJCOPY = $(PREFIX)objcopy
|
|
#LINKFLAGS = -g3 -ggdb -mcpu=cortex-m3 $(FPU_USAGE) -mlittle-endian -static -lgcc -mthumb -mthumb-interwork -nostartfiles -T$(RIOTCPU)/$(CPU)/LPC1768.ld
|
|
LINKFLAGS = -mcpu=cortex-m3 -mthumb -Wl,--gc-sections,--cref -lc -lgcc -lnosys -T$(RIOTCPU)/$(CPU)/LPC1768.ld -nostartfiles
|
|
|
|
ifeq ($(strip $(PORT)),)
|
|
export PORT = /dev/ttyUSB0
|
|
endif
|
|
export HEXFILE = $(BINDIR)$(PROJECT).hex
|
|
export FFLAGS = $(HEXFILE)
|
|
|
|
export ELFFILE = bin/$(PROJECT).elf
|
|
export DEBUGGER_FLAGS = $(ELFFILE)
|
|
|
|
export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include/ -I$(RIOTCPU)/$(CPU)/include
|
|
export OFLAGS = -O binary
|