#define variables

#for libopencm3
OPENCM3_DIR := ../../libopencm3
LIBDIR       = $(OPENCM3_DIR)/lib
LHPLIB_DIR   = ../../libLHP
LDSCRIPT     = stm32/f1/stm32f103x8.ld
LIBNAME	     = opencm3_stm32f1

#for the compilation
C_FLAGS	     = -msoft-float -mthumb -mcpu=cortex-m3 -Os -DSTM32F1 --specs=nosys.specs 
INC_FLAGS    += -I$(OPENCM3_DIR)/include -I$(LHPLIB_DIR)/inc

#for the linking
LD_FLAGS     += -L$(OPENCM3_DIR)/lib -L$(LHPLIB_DIR)/ -lc -lgcc -lnosys -llhp -l$(LIBNAME) -T$(LDSCRIPT) -nostartfiles --static 

#for the tools
PREFIX		?= arm-none-eabi
CC		:= $(PREFIX)-gcc
CXX		:= $(PREFIX)-g++
LD		:= $(PREFIX)-gcc
AR		:= $(PREFIX)-ar
AS		:= $(PREFIX)-as
SIZE		:= $(PREFIX)-size
OBJCOPY		:= $(PREFIX)-objcopy
OBJDUMP		:= $(PREFIX)-objdump
GDB	        := gdb-multiarch

STFLASH         := st-flash

PROJECT         = re2

# tells make that these don't produce a file
.PHONY: clean flash lib $(PROJECT)

$(PROJECT) : $(PROJECT).elf $(PROJECT).bin $(PROJECT).hex ;

flash : $(PROJECT).bin
	$(STFLASH) write $(PROJECT).bin 0x8000000
