VERSION    = 1
SUBVERSION = 3

TOOL = arm-none-eabi
#TOOL = /opt/yagarto49/bin/arm-none-eabi

CC = $(TOOL)-gcc
CP      = $(TOOL)-objcopy
#BT2=./btflasher
BT2=~/UVA/Cosas_Nuestras/bootloader/bt2 -sb 115200 -s 115200 -d /dev/ttyACM0 
ISP=~/UVA/Cosas_Nuestras/lpc21isp-master/lpc21isp 
ISP_WINDOWS=..\..\lpc21isp\lpc21isp.exe
USB_COM=$(shell .\detect_USB_COM)

# Uncomment for the PRGICE programming board
#PFLAGS = -DPRGICE		# Placa PRGICE (sin cristal, y sin generación de reloj)
PFLAGS = -DMASTER		# Placa Taller de proyectos MASTER Teleco (MOSI, MISO intercambiados)

CFLAGS = -w -g -gdwarf-2 -O2 -mcpu=cortex-m0 -mthumb -nostartfiles -fno-delete-null-pointer-checks \
         -DVERSION=$(VERSION) -DSUBVERSION=$(SUBVERSION) $(PFLAGS)

SRCS =	init.c main.c printf.c system.h lpc111x.h 

all:	coderom.bin iceload iceloadSDL

def:	code.bin
		$(BT2) -l code.bin 

term:
		$(BT2)

burn:	coderom.bin
		$(ISP) -control -wipe -bin $< /dev/ttyACM0 115200 12000
		
burn_windows: 
		$(ISP_WINDOWS) -control -wipe -bin coderom.bin $(USB_COM) 115200 12000
		
detect_USB_COM.exe: detect_USB_COM.c
		gcc -w -O2 -o $@ $<
		
all:	code.bin coderom.bin

code.elf:	$(SRCS) linker_scriptRAM.ld Makefile 
	$(CC) $(CFLAGS) -Wl,-Tlinker_scriptRAM.ld -Wl,-Map=a.map -o $@ main.c 
	$(TOOL)-size $@

coderom.elf:	$(SRCS) linker_script.ld Makefile 
	$(CC) $(CFLAGS) -Wl,-Tlinker_script.ld -Wl,-Map=a.map -o $@ main.c 
	$(TOOL)-size $@

code.bin:	code.elf
	$(CP) -O binary $< $@

coderom.bin:	coderom.elf
	$(CP) -O binary $< $@

dis:	coderom.elf
	$(TOOL)-objdump -d $< >coderom.lst


iceload:	iceload.c jedec.c chips.c Makefile
	gcc -O2 -w -o $@ $<

iceloadSDL:	iceloadSDL.c jedec.c chips.c Makefile
	gcc -O2 -w -o $@ $< -lSDL

iceloadmin:	iceloadmin.c Makefile
	gcc -O2 -w -o $@ $<

#### Utiles 
#

clean:
	rm -f *.elf *.lst a.map *~

print:
	enscript -1 -E --color -M a4 -T 4 -p out.ps init.c main.c\
	evince out.ps

pack:
	cp chips.c jedec.c iceload.c init.c main.c printf.c lpc111x.h system.h Makefile Changelog.txt ~/raspcloud/public_html/ICECREAM/lpc11loader
	cd ~/raspcloud/public_html/ICECREAM; 	tar czvf lpc11loader.tgz lpc11loader
	


