# -----------------------------------------------------------------
# Makefile for ex1.elf 
# -----------------------------------------------------------------
#path herramientas
#compilador

LOADER  = lm4flash
AS      = arm-none-eabi-as
CC      = arm-none-eabi-gcc
LD      = arm-none-eabi-ld
OBJCOPY = arm-none-eabi-objcopy
OBJDUMP = arm-none-eabi-objdump


AFLAGS  = -mcpu=cortexarm7tdmi -mapcs-32 -g
CFLAGS  = -Wall -O0  -g -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -MD -std=c99 -Wall -pedantic -DPART_LM4F120H5QR -c -g -D DEBUG  -DTARGET_IS_BLIZZARD_RA1
LDFLAGS = -Tlinker.ld --entry ResetISR 
# fuentes del programa 
# ===========================================================================
SOURCES = startup.c main.c

# nombre del archivo de salida
# ===========================================================================
TARGET  = salida.bin

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

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 binary $< $@

$(ELF): $(OBJS)
	$(LD) $(LDFLAGS)   $^ driverlib/libdriver-cm4f.a -o $@

$(LST): $(ELF)
	$(OBJDUMP) -S $(ELF) > $(LST)
clean:
	rm *.o *.elf *.bin *.lst
grabar:
	$(LOADER) $(TARGET) 

