--- /dev/null
+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
+
+all: $(BIN_IMAGE)
+
+$(BIN_IMAGE): $(EXECUTABLE)
+ $(OBJCOPY) -O binary $^ $@
+
+$(EXECUTABLE): main.c
+ $(CC) $(CFLAGS) $^ -o $@
+
+clean:
+ rm -rf $(EXECUTABLE)
+ rm -rf $(BIN_IMAGE)
+
+.PHONY: all clean
+++ /dev/null
-#!/usr/bin/env sh
-
-CHAIN=$HOME/sat/bin/arm-none-eabi
-PATH=$HOME/sat/arm-none-eabi/bin:$PATH
-
-$CHAIN-gcc \
- -O2 \
- -mlittle-endian \
- -mthumb \
- -mcpu=cortex-m3 \
- -ffreestanding \
- -nostdlib \
- -nostdinc \
- main.c
-
-$CHAIN-objcopy \
- -O binary \
- a.out \
- /tmp/foobar
\ No newline at end of file