#preferences for cross development

TOOLCHAIN=arm-elf-
CC=$(TOOLCHAIN)gcc
AS=$(TOOLCHAIN)as
LD=$(TOOLCHAIN)ld
OBJCOPY=$(TOOLCHAIN)objcopy

#flags
CFLAGS = -mcpu=arm7tdmi -march=armv4t -g -nostartfiles -nostdlib \
	-I/opt/gnuarm/lib/gcc/arm-elf/4.3.2/../../../../arm-elf/lib/ -lm
#-I/home/technik/arm-elf-toolchain/gcc-4.3.2/libssp/ssp 

ASFLAGS = 
#ASFLAGS = --D_ASSEMBLY_ -I/home/technik/arm-elf-toolchain/gcc-4.3.2/libssp/ssp
LDFLAGS = 
CPFLAGS = --output-target=ihex


BASENAME = main

ELFFILE = $(BASENAME).elf
BINARY = $(BASENAME).bin
SREC = $(BASENAME).srec
HEXFILE = $(BASENAME).hex

#LSCRIPT = lpc2103.ld
LSCRIPT = lpc2103_flash.cmd

SHELL := /bin/bash

#target
TARGETS = $(ELFFILE) $(BINARY) $(SREC) $(HEXFILE) program

OBJS = crt.o main.o

all:$(TARGETS)


$(ELFFILE): $(OBJS) Makefile
	$(LD) -o $(ELFFILE) $(OBJS) -T $(LSCRIPT) \
	-Map $(BASENAME).map

$(HEXFILE): $(ELFFILE)
	$(OBJCOPY) $(CPFLAGS) $(ELFFILE) $(HEXFILE)

$(BINARY): $(ELFFILE)
	$(OBJCOPY) -O binary -S $(ELFFILE) $(BINARY)

$(SREC): $(ELFFILE)
	$(OBJCOPY) -O srec -S $(ELFFILE) $(SREC)

program:
	read -s -p "Bitte BSL-Jumper setzen und RESET drücken und Enter drücken" -n 1
	~/lpc21isp/lpc21isp $(HEXFILE) /dev/ttyUSB0 115200 14746

clean:
	rm -f *.o $(TARGETS)

#arm-elf-gcc -c main.c -o main.o   
#sh-2.05b$ ls
#lpc2103.h  main.c  main.elf  main.o
#sh-2.05b$ arm-elf-ld -o main.elf main.o -Map main.map

