#
# Makefile for lcdtest
#		IT-ACCESS 2009/10/30
#

TARGET	 = lcdtest

#THUMB_MODE = YES

# divsi3, udivsi3(|Z߁HjȂ̂ŁA libgcc.a ǉB
GCCLIB = /usr/local/arm-tools/lib/gcc/arm-elf/4.3.1/libgcc.a

CC = /usr/local/arm-tools/bin/arm-elf-gcc
AS = /usr/local/arm-tools/bin/arm-elf-as
LD = /usr/local/arm-tools/bin/arm-elf-ld
AR = /usr/local/arm-tools/bin/arm-elf-ar -cr
OBJCPY = /usr/local/arm-tools/bin/arm-elf-objcopy

ASFLAGS = 
CFLAGS   = -O2
LDFLAGS = -static 

THUMB_IW =

ifeq ($(THUMB_MODE),YES)
THUMB_IW = -mthumb-interwork
ASFLAGS = $(THUMB_IW)
CFLAGS   = -O2 -mthumb
LDFLAGS = -static 
GCCLIB = /usr/local/arm-tools/lib/gcc/arm-elf/4.3.1/thumb/libgcc.a
endif

#CFLAGS   = -mcpu=arm7tdmi-s -Os -ffunction-sections -fdata-sections 
#LDFLAGS = -gc-sections -static -cref

OBJS = startup.o lcdtest.o lcdlib.o

all: $(TARGET)

$(TARGET) : $(OBJS) memory.def
	$(LD) $(LDFLAGS) -o $(TARGET) -Map $(TARGET).map $(OBJS) $(GCCLIB) -T memory.def 
	$(OBJCPY) -O ihex $(TARGET) $(TARGET).hex

startup.o : startup.S
	$(AS) $(ASFLAGS) $< -o startup.o

clean:
	rm -f *.o *.map *.hex $(TARGET)

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