# Toolchain
CC=/opt/local/bin/arm-none-eabi-gcc
CXX=/opt/local/bin/arm-none-eabi-g++
LD=/opt/local/bin/arm-none-eabi-g++
AR=/opt/local/bin/arm-none-eabi-ar
OBJCOPY=/opt/local/bin/arm-none-eabi-objcopy
OPENOCD=/opt/local/bin/openocd
OPENOCD_SCRIPTS=/opt/local/share/openocd/scripts
OPENOCD_BOARD=stm32f4discovery.cfg

# Flags
CFLAGS+=\
-DARM_MATH_CM4 \
-DARM_MATH_MATRIX_CHECK \
-DARM_MATH_ROUNDING \
-DDEBUG \
-DSTM32F407xx \
# DONT define DUSE_HAL_DRIVER - all it does is to create a build dependency from cmsis to the hal crap
#-DUSE_HAL_DRIVER \

# Options
CFLAGS+= -fdiagnostics-color=always
CFLAGS+= -mfloat-abi=hard
CFLAGS+= -mfpu=fpv4-sp-d16
CFLAGS+= -mcpu=cortex-m4
CFLAGS+= -mthumb
CFLAGS+= -mthumb-interwork
CFLAGS+= -ffunction-sections
CFLAGS+= -fdata-sections
CFLAGS+= -fno-common
CFLAGS+= -fmessage-length=0
CFLAGS+= -Og
CFLAGS+= -g

CXXFLAGS:=$(CFLAGS)

CFLAGS+= -std=gnu11
CXXFLAGS+= -std=c++17