DIR11=/home/jesus/gcc11

AS=$(DIR11)/bin/as11
LD=$(DIR11)/bin/ld11
CC=$(DIR11)/bin/gcc11

CFLAGS=-O2 -w 
LDFLAGS=-b_CODE=0xE000 -s -m

LIBS=lib/libaux.a $(DIR11)/crt0/libgcc.a

#OBJS= crt0.o ip.o icmp.o udp.o tftp.o mem.o colas.o sci.o task.o timer.o \
#      eeprom.o data_ad.o config.o cfg.o

OBJS= crt0.o mem.o colas.o sci.o task.o timer.o eeprom.o cfg.o checksum.o \
      data_ad.o ip.o icmp.o udp.o config.o tftp.o

ip.s19:	lib/libaux.a $(OBJS)
	$(LD) $(LDFLAGS) -o ip $(OBJS) $(LIBS)

#
#	Subdirectorio
#

lib/libaux.a:	
	cd lib;	make

#
#	FUENTES EN C
#

ip.o:	ip.c ip.h proto.h
	$(CC) $(CFLAGS) -c ip.c

icmp.o:	icmp.c ip.h proto.h
	$(CC) $(CFLAGS) -c icmp.c

udp.o:	udp.c ip.h config.h
	$(CC) $(CFLAGS) -c udp.c

tftp.o:	tftp.c ip.h proto.h tftp.h
	$(CC) $(CFLAGS) -c tftp.c

config.o:	config.c config.h proto.h
	$(CC) $(CFLAGS) -c config.c

data_ad.o:	data_ad.c proto.h
	$(CC) $(CFLAGS) -c data_ad.c

#
#	FUENTES EN ENSAMBLADOR
#

timer.o:	timer.s
	$(AS) timer.s

mem.o:	mem.s
	$(AS) mem.s

colas.o:	colas.s
	$(AS) colas.s

sci.o:	sci.s
	$(AS) sci.s

task.o:	task.s
	$(AS) task.s

eeprom.o:	eeprom.s
	$(AS) eeprom.s

cfg.o:	cfg.s
	$(AS) cfg.s

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

checksum.o:	checksum.s
	$(AS) checksum.s

# EEPROM

ep:	ep.c
	$(CC) $(CFLAGS) -c ep.c
	$(LD) -b_CODE=0xB600 -s -m -o ep ep.o

#
#####	Limpieza general
#

clean:	
	rm -f *.o *.lst *.map *~
	cd lib; make clean
