CSRCS   = gpio.c cpu_init.c
TARGET  = gpio
ASMSRCS = startup.s
OBJS    = $(ASMSRCS:%.s=%.o) $(CSRCS:%.c=%.o)
LDSCRIPT= memory.def

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
OBJCOPY = /usr/local/arm-tools/bin/arm-elf-objcopy

all: $(OBJS) $(LDSCRIPT)
	$(LD) -Map $(TARGET).map -T $(LDSCRIPT) $(OBJS) -L$(GCCLIB) -lgcc -o $(TARGET).elf
	$(OBJCOPY) -O ihex $(TARGET).elf $(TARGET).hex
	$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
.c.o :
	$(CC) -O0 -g -c $<
.s.o: 
	$(AS) $< -g -o $@
clean:
	rm *.o $(TARGET).elf $(TARGET).map $(TARGET).hex
