-EXECUTABLE=blink.elf
-BIN_IMAGE=blink.bin
-
CC=arm-none-eabi-gcc
OBJCOPY=arm-none-eabi-objcopy
-CFLAGS=-g -O2 -mlittle-endian -mthumb
-ifeq ($(CONFIG_STM32L_DISCOVERY), 1)
- CFLAGS+=-mcpu=cortex-m3 -DCONFIG_STM32L_DISCOVERY
-else ifeq ($(CONFIG_STM32VL_DISCOVERY), 1)
- CFLAGS+=-mcpu=cortex-m3 -DCONFIG_STM32VL_DISCOVERY=1
-else ifeq ($(CONFIG_STM32F4_DISCOVERY), 1)
- CFLAGS+=-mcpu=cortex-m4 -DCONFIG_STM32F4_DISCOVERY=1
-endif
- CFLAGS+=-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
-all: $(BIN_IMAGE)
+all: blink_32VL.elf blink_32L.elf blink_F4.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 $@
clean:
- rm -rf $(EXECUTABLE)
- rm -rf $(BIN_IMAGE)
+ rm -rf *.elf
+ rm -rf *.bin
.PHONY: all clean