CC = /usr/local/arm-tools/bin/arm-elf-gcc
AS = /usr/local/arm-tools/bin/arm-elf-as
LD = /usr/local/arm-tools/bin/arm-elf-ld
OBJCPY = /usr/local/arm-tools/bin/arm-elf-objcopy

all: memory.def startup.o gcc_sample.o gcc_sample_thumb.o startup_thumb.o
	$(LD) startup.o gcc_sample.o -T memory.def -o gcc_sample -Map gcc_sample.map
	$(OBJCPY) -O ihex gcc_sample gcc_sample.hex
	$(OBJCPY) -O binary gcc_sample gcc_sample.bin
	$(LD) startup_thumb.o gcc_sample_thumb.o -T memory_thumb.def -o gcc_sample_thumb -Map gcc_sample_thumb.map
	$(OBJCPY) -O ihex gcc_sample_thumb gcc_sample_thumb.hex
	$(OBJCPY) -O binary gcc_sample_thumb gcc_sample_thumb.bin

startup.o : startup.s
	$(AS) startup.s -o startup.o
startup_thumb.o : startup.s
	$(AS) --defsym THUMB=1 startup.s -o startup_thumb.o
gcc_sample.o: gcc_sample.c
	$(CC) -c $< -o gcc_sample.o
gcc_sample_thumb.o: gcc_sample.c
	$(CC) -mthumb-interwork -mthumb -c $< -o gcc_sample_thumb.o
clean:
	rm -f *.o gcc_sample gcc_sample_thumb *.map *.hex
