
CSRCS    = gcc_sample.c
TARGET   = gcc_sample
ASMSRCS  = startup.s
OBJS     = $(ASMSRCS:%.s=%.o) $(CSRCS:%.c=%.o)
LDSCRIPT = memory.def

GCC = /usr/local/sh-tools/bin/sh-elf-gcc
GCCVER = 4.4.0
LD = /usr/local/sh-tools/bin/sh-elf-ld
AS = /usr/local/sh-tools/bin/sh-elf-as
OBJCOPY = /usr/local/sh-tools/bin/sh-elf-objcopy
GCCLIB = /usr/local/sh-tools/lib/gcc/sh-elf/$(GCCVER)/m2a

NEWLIB_BASE=/usr/local/sh-tools/newlib/sh-elf
NEWLIB_INC = $(NEWLIB_BASE)/include
NEWLIB_LIB = $(NEWLIB_BASE)/lib/m2a

TARGET_SYSCALL_LIB_NAME = sh2a72623
TARGET_SYSCALL_LIB_DIR = ../../lib

all: $(OBJS) $(LDSCRIPT)
	$(LD) -Map $(TARGET).map -T $(LDSCRIPT) $(OBJS) -L$(TARGET_SYSCALL_LIB_DIR) -L$(NEWLIB_LIB) -L$(GCCLIB) -l$(TARGET_SYSCALL_LIB_NAME) -lc -lgcc -o $(TARGET).elf
	$(OBJCOPY) -O srec $(TARGET).elf $(TARGET).mot
	$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
.c.o:
	$(GCC) -c -I$(NEWLIB_INC) -g -m2a $<
.s.o: 
	$(AS) $< -g -o $@
clean:
	rm *.o $(TARGET).elf $(TARGET).map $(TARGET).mot $(TARGET).bin
