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

#LIBGCC= /usr/local/lib/gcc/arm-eabi/4.7.2/libgcc.a

#ARCH = -mcpu=arm7tdmi 
ARCH = -mcpu=cortex-a9 

CFLAGS = -O2

stub.out: vect.o crt0.o arm.o main.o 
	$(LD) vect.o crt0.o main.o arm.o -T memory.x -o stub.out -Map stub.map
	$(OBJCPY) -O srec stub.out stub.srec

#	vect.c shoud not optimized. never use -O	
vect.o: vect.c	
	$(CC) $(ARCH) -c vect.c 

crt0.o : crt0.s
	$(AS) $(ARCH) crt0.s -o crt0.o

main.o: main.c
	$(CC) $(ARCH) $(CFLAGS) -c main.c 

arm.o: arm.c
	$(CC) $(ARCH) $(CFLAGS) -c arm.c 

io.o: io.c
	$(CC) $(ARCH) $(CFLAGS) -c io.c 

clean:
	rm -f *.o stub.out stub.hex *.map
