CSPREFIX  = c:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI
CSBINDIR  = $(CSPREFIX)/bin
PREFIX    = /usr
BINDIR    = $(PREFIX)/bin

ARCH      = arm-none-eabi
ADDNAME   = $(ARCH)-

AR      = $(CSBINDIR)/$(ADDNAME)ar
AS      = $(CSBINDIR)/$(ADDNAME)as
CC      = $(CSBINDIR)/$(ADDNAME)gcc
LD      = $(CSBINDIR)/$(ADDNAME)ld
NM      = $(CSBINDIR)/$(ADDNAME)nm
OBJCOPY = $(CSBINDIR)/$(ADDNAME)objcopy
OBJDUMP = $(CSBINDIR)/$(ADDNAME)objdump
RANLIB  = $(CSBINDIR)/$(ADDNAME)ranlib
STRIP   = $(CSBINDIR)/$(ADDNAME)strip

SREC_CAT = $(BINDIR)/srec_cat

OBJS  = startup.o board_setup.o serial.o main.o
OBJS += monitor.o lib.o

TARGET = kzload

CFLAGS = -Wall -march=armv7-m -mthumb -ffreestanding
CFLAGS += -I.
#CFLAGS += -g
CFLAGS += -Os
CFLAGS += -DKZLOAD

LFLAGS = -static -T ld.scr -L. 

.SUFFIXES: .c .o
.SUFFIXES: .s .o
.SUFFIXES: .S .o

all :		$(TARGET)

$(TARGET) :	$(OBJS)
		$(CC) $(OBJS) -o $(TARGET) $(CFLAGS) $(LFLAGS)
		copy $(TARGET) $(TARGET).elf
		$(STRIP) $(TARGET)

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

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

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

$(TARGET).mot :	$(TARGET)
		$(OBJCOPY) -O srec $(TARGET) $(TARGET).mot

$(TARGET).hex :	$(TARGET).mot
		$(SREC_CAT) $(TARGET).mot -Output $(TARGET).hex -Intel

image :		$(TARGET).mot

clean :
		del /f $(OBJS) $(TARGET) $(TARGET).elf $(TARGET).mot $(TARGET).hex
