NAME=blinky PREFIX?=arm-none-eabi- CC=$(PREFIX)gcc AS=$(PREFIX)as OBJCOPY=$(PREFIX)objcopy ARCH_FLAGS=-mthumb -mcpu=cortex-m4 -mfloat-abi=hard CFLAGS=-Og -g -Wall -std=c99 -Ilib/libopencm3/include -DSTM32F4 LDFLAGS=--static -nostartfiles -Llib/libopencm3/lib LDLIBS=-lopencm3_stm32f4 LDSCRIPT=-Tnucleo-f411re.ld VPATH=src .SECONDARY: clean: rm -f lib/libopencm3/lib/libopencm3_stm32f4.a rm -f $(NAME).bin rm -f $(NAME).elf rm -f $(NAME).o clobber: rm -f lib/libopencm3/lib/libopencm3_stm32f4.a rm -f $(NAME).bin $(MAKE) -C lib/libopencm3 clean libopencm3: $(MAKE) -C lib/libopencm3 TARGETS=stm32/f4 flash: $(NAME).bin st-flash write $(NAME).bin 0x8000000 all: libopencm3 $(NAME).bin %.o: %.c $(CC) $(CFLAGS) $(ARCH_FLAGS) -c $< -o $@ %.elf: %.o $(CC) $(LDFLAGS) $(LDSCRIPT) $(ARCH_FLAGS) $< $(LDLIBS) -o $@ %.bin: %.elf $(OBJCOPY) $< -O binary $@ gdb: arm-none-eabi-gdb -ex 'target extended-remote :3333' $(NAME).elf oocd: openocd -f /usr/share/openocd/scripts/interface/stlink.cfg -f /usr/share/openocd/scripts/target/stm32f4x.cfg