-EXECUTABLE=blink.elf
-BIN_IMAGE=blink.bin
-
CC=arm-none-eabi-gcc
OBJCOPY=arm-none-eabi-objcopy
-CFLAGS=-O2 -mlittle-endian -mthumb
-CFLAGS+=-mcpu=cortex-m3 -ffreestanding -nostdlib -nostdinc
+DEF_CFLAGS=-g -O2 -mlittle-endian -mthumb -ffreestanding -nostdlib -nostdinc
# to run from SRAM
-CFLAGS+=-Wl,-Ttext,0x20000000 -Wl,-e,0x20000000
+DEF_CFLAGS+=-Wl,-Ttext,0x20000000 -Wl,-e,0x20000000
# to write to flash then run
-# CFLAGS+=-Wl,-Ttext,0x08000000 -Wl,-e,0x08000000
+# DEF_CFLAGS+=-Wl,-Ttext,0x08000000 -Wl,-e,0x08000000
+
+CFLAGS_VL=$(DEF_CFLAGS) -mcpu=cortex-m3 -DCONFIG_STM32VL_DISCOVERY=1
+CFLAGS_L=$(DEF_CFLAGS) -mcpu=cortex-m3 -DCONFIG_STM32L_DISCOVERY
+CFLAGS_F4=$(DEF_CFLAGS) -mcpu=cortex-m4 -DCONFIG_STM32F4_DISCOVERY=1
+CFLAGS_F0=$(DEF_CFLAGS) -mcpu=cortex-m0 -DCONFIG_STM32F0_DISCOVERY=1
-all: $(BIN_IMAGE)
+all: blink_32VL.elf blink_32L.elf blink_F4.elf blink_F0.elf
-$(BIN_IMAGE): $(EXECUTABLE)
+%.bin: %.elf
$(OBJCOPY) -O binary $^ $@
-$(EXECUTABLE): main.c
- $(CC) $(CFLAGS) $^ -o $@
+blink_32VL.elf: main.c
+ $(CC) $(CFLAGS_VL) $^ -o $@
+blink_32L.elf: main.c
+ $(CC) $(CFLAGS_L) $^ -o $@
+blink_F4.elf: main.c
+ $(CC) $(CFLAGS_F4) $^ -o $@
+blink_F0.elf: main.c
+ $(CC) $(CFLAGS_F0) $^ -o $@
clean:
- rm -rf $(EXECUTABLE)
- rm -rf $(BIN_IMAGE)
+ rm -rf *.elf
+ rm -rf *.bin
.PHONY: all clean