# -----------------------------------------------------------------
# Makefile for ex1.elf 
# -----------------------------------------------------------------
#path herramientas
#compilador
AS      = arm-elf-as
CC      = arm-elf-gcc 
LD      = arm-elf-ld 
OBJCOPY = arm-elf-objcopy
OBJDUMP = arm-elf-objdump

AFLAGS  = -mcpu=arm7tdmi -mapcs-32 -g 
CFLAGS  = -Wall -O3 -g -mcpu=arm7tdmi
LDFLAGS = -lm -Tlpc2114_flash.ld -nostartfiles 

# fuentes del programa 
# ===========================================================================
SOURCES = head.s  main.c timer.c irq.c sdmmc.c  ff.c monitor.c uart.c adc.c rtc.c vumetro.c memporc.c 

# nombre del archivo de salida
# ===========================================================================
TARGET  =  main.hex 

OBJS1=$(SOURCES:.c=.o) 
OBJS=$(OBJS1:.s=.o) 
ELF=$(TARGET:.hex=.elf)
LST=$(TARGET:.hex=.lst)

all: $(TARGET) $(LST)


depend.lst: $(SOURCES)
	$(CC) -MM $^ > depend.lst


#cargar dependencias 

include depend.lst

#opcion de compilacin para .c
%.o:%.s
	$(AS) $(AFLAGS) $< -o $@ 

%.o:%.c
	$(CC) $(CFLAGS) -c $< 


$(TARGET): $(ELF)
	$(OBJCOPY) -O ihex $< $@

$(ELF): $(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lm

$(LST): $(ELF)
	$(OBJDUMP) -S $(ELF) > $(LST)

clean:
	rm *.o *.elf *.hex *.lst

grabar:
	make
	lpc21isp -wipe -hex main.hex /dev/ttyUSB0 115200 14745

