#
# Makefile for GealDemo for CQ SH-2A+ Hokuto/Wakamatsu LCD board target
#
#
# Ex for Hokuto board		: cd ..; make ; cd Target ; make
# Ex for Wakamatsu board	: clean ; cd ..; make ; cd Target ; make -e WKLCD=YES
#
#		IT-ACCESS 2010/08/30
#

SH_GCC = YES
#WKLCD = YES	# For Wakamatsu board

#-------------------------------------------------------
# ARM GCC
#-------------------------------------------------------
ifeq ($(ARM_GCC),YES)

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

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

CFLAGS   = -D_GCC -O2 -Wl,-s
#CFLAGS   = -Os  -D_GCC
#CFLAGS   = -Os -Wl,-s 

endif

#-------------------------------------------------------
# SH GCC
#-------------------------------------------------------
ifeq ($(SH_GCC),YES)

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

OBJCOPY = /usr/local/sh-tools/bin/sh-elf-objcopy
#GCCLIBPATH = /usr/local/sh-tools/lib/gcc/sh-elf/3.4.5/m2
GCCLIBPATH = /usr/local/sh-tools/lib/gcc/sh-elf/4.4.0/m2
#GCCLIBPATH = /usr/local/sh-tools/lib/gcc/sh-elf/4.4.0/m2a

#GCCLIB = -lgcc 
GCCLIB = -lgcc -lgcc-Os-4-200


#==== Default kldq HSB7264LCDp====
# SH2A (m2a)ɂƓ삵Ȃ...
#CFLAGS   = -m2a -O2
CFLAGS   = -Os  -g -m2 -finput-charset=cp932

#====ᏼʏ WKLCD-2Apǉdef====
ifeq ($(WKLCD),YES)
CFLAGS +=  -D_WKLCD
endif


endif


#==========================================================================
ifeq ($(WKLCD),YES)
	TARGET	 = GealDemo_W
else
	TARGET	 = GealDemo_H
endif

INCLUDES = -I./ -I../ -I../inc

CSRCS =  cpu_init.c cpu_uart.c tinylib.c ff.c mmc.c cc932.c \
 TargetMain.c TargetSystem.c TargetDrawRGB.c TouchPanel.c

ASMSRCS  = startup.s
OBJS     = $(ASMSRCS:%.s=%.o) $(CSRCS:%.c=%.o)

#Geal Resource files
GRSS = GealRsxBitmap.o GealRsxConfig.o GealRsxFont.o GealRsxString.o \
  GealRsxUniconv.o GealRsxWidget.o SampleDev.o jpeg_dec.o

LIBS = libGealEngine.a libImpJpgDec.a

LDSCRIPT = memory.def

all: $(OBJS) $(LDSCRIPT)
	$(LD) -Map $(TARGET).map -T $(LDSCRIPT) $(OBJS) $(GRSS) $(LIBS) -L$(GCCLIBPATH) $(GCCLIB) -o $(TARGET).elf
	$(OBJCOPY) -O srec $(TARGET).elf $(TARGET).mot
	$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin

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

.s.o: 
	$(AS) $< -g -o $@

clean:
#	rm $(OBJS) $(TARGET).elf $(TARGET).map $(TARGET).mot $(TARGET).bin
	rm $(OBJS) 
