# -----------------------------------------------------------------
# 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 -g 
CFLAGS  = -Wall -O0 -g -mcpu=arm7tdmi 
LDFLAGS = -Tlpc2114_flash.ld -O0 -nostartfiles  

# fuentes del programa 
# ===========================================================================
SOURCES = head.s main.c

# nombre del archivo de salida
# ===========================================================================
TARGET  = ex1.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 compilación 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

