# makefile, written by Colin Raffel
MCU=atmega88
CC=avr-gcc
OBJCOPY=avr-objcopy
# optimize for size:
CFLAGS=-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues
#-------------------
all: ooscc.hex
#-------------------
enc28j60.o : enc28j60.c avr_compat.h timeout.h enc28j60.h
	$(CC) $(CFLAGS) -Os -c enc28j60.c
ip_arp_udp.o : ip_arp_udp.c net.h avr_compat.h enc28j60.h
	$(CC) $(CFLAGS) -Os -c ip_arp_udp.c
timeout.o : timeout.c timeout.h 
	$(CC) $(CFLAGS) -Os -c timeout.c
#------------------
ooscc.hex : ooscc.out 
	$(OBJCOPY) -R .eeprom -O ihex ooscc.out ooscc.hex 
	avr-size ooscc.out
	@echo " "
	@echo "Expl.: data=initialized data, bss=uninitialized data, text=code"
	@echo " "
ooscc.out : ooscc.o enc28j60.o timeout.o ip_arp_udp.o
	$(CC) $(CFLAGS) -o ooscc.out -Wl,-Map,ooscc.map ooscc.o enc28j60.o timeout.o ip_arp_udp.o
ooscc.o : ooscc.c ip_arp_udp.h avr_compat.h enc28j60.h timeout.h net.h
	$(CC) $(CFLAGS) -Os -c ooscc.c
#------------------
load: ooscc.hex
	./prg_load_uc_88 ooscc.hex
#------------------