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`.
41 lines
1.1 KiB
Makefile
41 lines
1.1 KiB
Makefile
## the cpu to build for
|
|
export CPU = msp430x16x
|
|
export MCU = msp430f1612
|
|
|
|
# toolchain config
|
|
export PREFIX = msp430-
|
|
export CC = $(PREFIX)gcc
|
|
export AR = $(PREFIX)ar
|
|
export CFLAGS += -Wstrict-prototypes -gdwarf-2 -Os -Wall -mmcu=$(MCU)
|
|
export ASFLAGS += -mmcu=$(MCU) --defsym $(MCU)=1 --gdwarf-2
|
|
export AS = $(PREFIX)as
|
|
export LINK = $(PREFIX)gcc
|
|
export SIZE = $(PREFIX)size
|
|
export OBJCOPY = $(PREFIX)objcopy
|
|
export LINKFLAGS = -mmcu=$(MCU) -lgcc
|
|
TERMPROG = $(RIOTBASE)/dist/tools/pyterm/pyterm.py
|
|
export HEXFILE = $(BINDIR)$(PROJECT).hex
|
|
|
|
|
|
ifeq ($(strip $(FLASHER)),)
|
|
export FLASHER = mspdebug
|
|
endif
|
|
|
|
# set programmer port in FFLAGS manually if needed like this:
|
|
# FFLAGS="-d /dev/ttyUSB0" PROGRAMMER="uif" make flash
|
|
|
|
ifeq ($(strip $(PROGRAMMER)),)
|
|
export PROGRAMMER = olimex
|
|
endif
|
|
export FFLAGS += -j $(PROGRAMMER)
|
|
|
|
ifeq ($(strip $(PORT)),)
|
|
export PORT = /dev/ttyUSB0
|
|
endif
|
|
|
|
export FFLAGS += "prog $(HEXFILE)"
|
|
|
|
export USEMODULE += msp430_common
|
|
export INCLUDES += -I $(RIOTCPU)/msp430-common/include/ -I$(RIOTBOARD)/msb-430-common/include -I$(RIOTBOARD)/msb-430-common/drivers/include
|
|
export OFLAGS = -O ihex
|