GCC = /usr/local/arm-tools/bin/arm-elf-gcc
LD = /usr/local/arm-tools/bin/arm-elf-ld
AS = /usr/local/arm-tools/bin/arm-elf-as
OBJCOPY = /usr/local/arm-tools/bin/arm-elf-objcopy

NEWLIB_INC_DIR = /usr/local/arm-tools/newlibexport/arm-elf/include
NEWLIB_LIB_DIR = /usr/local/arm-tools/newlibexport/arm-elf/lib
GCC_LIB_DIR = /usr/local/arm-tools/lib/gcc/arm-elf/4.3.1
all: monitor-common.o monitor.o startup.o save_registers.o memory.def
	$(LD) -L$(NEWLIB_LIB_DIR) -L$(GCC_LIB_DIR) -Map monitor.map -T memory.def startup.o  monitor-common.o monitor.o save_registers.o ../../newlib_sample/syscalls.o ../../newlib_sample/target_syscalls.o -lc -lgcc -o monitor
	$(OBJCOPY) -O srec monitor monitor.mot
	$(OBJCOPY) -O ihex monitor monitor.hex
.c.o:
	$(GCC) -c -I. -I$(NEWLIB_INC_DIR) $<
startup.o: startup.s
	$(AS) $< -o startup.o 
save_registers.o: save_registers.s
	$(AS) $< -o save_registers.o 
clean:
	rm -f *.o monitor
