PRG            = Blinky

OBJ            = startup.o Blinky.o cpu_init.o cpu_uart.o

OPTIMIZE       = -g

LDSCRIPT       = memory.def
DEFS           =
LIBS           =

# You should not have to change anything below here.
CC             = arm-elf-gcc
AS             = arm-elf-as
OBJCOPY        = arm-elf-objcopy
OBJDUMP        = arm-elf-objdump
ARCH           = arm-elf-ar

CFLAGS = -Wall -Wl,-Map=$(PRG).map -I. $(DEBUG) -mcpu=arm7tdmi -nostartfiles -T$(LDSCRIPT) -Wcast-align $(OPTIMIZE) $(DEFS)

ASFLAGS=

$(PRG).elf: $(OBJ) $(LDSCRIPT) makefile
	$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) $(OBJ) -o $@

clean:
	rm -rf *.o *.lst $(PRG).elf $(PRG).hex $(PRG).bin $(OBJ)

lst:  $(PRG).lst

%.lst: %.elf
	$(OBJDUMP) -h -S $< > $@

%.o : %.s makefile
	$(AS) -c $(ASFLAGS) $< -o $@

%.o : %.c makefile
	$(CC) -c $(CFLAGS) $< -o $@

hex:  $(PRG).hex

%.hex: %.elf
	$(OBJCOPY) -O ihex $< $@

bin: $(PRG).bin

%.bin: %.elf
	$(OBJCOPY) -O binary $< $@
