#ARM Makefile by S1D

#Pathes
ARMPATH=/usr/local/arm/bin
CC=$(ARMPATH)/arm-elf-gcc
OBJCPY=$(ARMPATH)/arm-elf-objcopy

#Prozessor
MCPU=arm7tdmi

#Source
SOURCE=test.c
INC=system.c uart.c glcd.c #glcdpaint.c #glcdprintf.c

#Memory Information
LDFILE=lpc2106-rom.ld
BOOT=boot.s

#Format
OUTPUTFORMAT=ihex

#Flags
OPT=s
MAP=$(SOURCE:%.c=%.map)
OBJ = $(SOURCE:%.c=%.o) $(INC:%.c=%.o)
CFLAGS= -Wall -Werror -nostartfiles -Wl,-Map=$(MAP),--cref -nostdlib  -O$(OPT) -s
CCFLAGS=
OPS=-mcpu=$(MCPU) -I. -T$(LDFILE)

#Programer
ISP=lpc21isp
TTS=/dev/tts/USB0
SPEED=230400
OSZ=14746


##Lets go##


all: $(SOURCE:%.c=%)

$(SOURCE:%.c=%): $(OBJ)
	$(CC) $(OPS) $(CFLAGS) -o $@ $(BOOT) $(OBJ)
	$(OBJCPY) --output-target $(OUTPUTFORMAT) $(SOURCE:%.c=%) $(SOURCE:%.c=%.hex)

.c.o:
	$(CC) $(CCFLAGS) $< -c -o $@

clean:
	$(RM) $(OBJ) 
	$(RM) $(SOURCE:%.c=%) 
	$(RM) $(SOURCE:%.c=%.hex)

install:
	$(ISP) $(SOURCE:%.c=%.hex) $(TTS) $(SPEED) $(OSZ)
