XCC = arm-elf-gcc -mcpu=arm7tdmi -mbig-endian
XAS = arm-elf-as --gstabs -EB -m arm7tdmi

# Edit the line below to point to the ecos "install" directory
# that contains "lib" and "include" directories.

ECOS = ../ecos-build/install

INCDIR = $(ECOS)/include

CFLAGS        = -fverbose-asm -g -Wa,-ahlsn=$*.lst -O0 -D__ECOS -I$(INCDIR)
CXXFLAGS      = $(CFLAGS)

EXTRACFLAGS   = -Wall 
EXTRACXXFLAGS = $(EXTRACFLAGS) 

LDFLAGS       = -g -Wl,--gc-sections -nostartfiles -L$(ECOS)/lib
LIBS          =  -Ttarget.ld -nostdlib

LD            = $(XCC)
XCXX          = $(XCC)

ASFLAGS       = -amhlsnd=$*.lst

SRCS=netecho.c serecho.c

EXECUTABLES = netecho.elf serecho.elf \
              netecho.bin serecho.bin \
              netecho.srec serecho.srec

all: $(EXECUTABLES)

%.hex: %.elf
	arm-elf-objcopy -O ihex $< $@

%.srec: %.elf
	arm-elf-objcopy -O srec $< $@	

%.bin: %.elf
	arm-elf-objcopy -O binary $< $@

depend:
	@echo
	@echo 'Generating source dependancies'
	@echo '### this file generated automatically by "make depend" ###' >srcdeps
	$(XCC) $(CFLAGS) -M $(SRCS) >>srcdeps
	@echo

clean:
	-rm -f  $(EXECUTABLES) *.o *~ *.lst *.map \#*\# *.bin *.elf10 core *.bak srcdeps
	touch srcdeps

%.o: %.c
	$(XCC) -c -o $*.o $(CFLAGS) $(EXTRACFLAGS) $<

%.o: %.s
	$(XAS) $(ASFLAGS)  -o $*.o $<

netecho.elf: netecho.o boot.o $(ECOS)/lib/libtarget.a  $(ECOS)/lib/libextras.a
	$(LD) -Wl,-Map,$(basename $@).map $(LDFLAGS) -o $@  netecho.o boot.o $(LIBS)

serecho.elf: serecho.o boot.o $(ECOS)/lib/libtarget.a  $(ECOS)/lib/libextras.a
	$(LD) -Wl,-Map,$(basename $@).map $(LDFLAGS) -o $@  serecho.o boot.o $(LIBS)

include srcdeps
