TARGET         = libkanji.a
CSRC           = cpu_init.c graphics.c LCDpanel.c tinylib.c grphcon.c monitor.c scif.c
ASRC           = asmfunc.s
OPTIMIZE       = -Os
DEFS           = 
LIBDIR         = /usr/local/sh-tools/lib/gcc/sh-elf/4.4.0/m2a
DEBUG          = dwarf-2
LDSCRIPT       = sh72620_ram.ld

INCDIR         = /usr/local/sh-tools/newlib/sh-elf/include
CC             = /usr/local/sh-tools/bin/sh-elf-gcc
LD             = /usr/local/sh-tools/bin/sh-elf-ld
OBJCOPY        = /usr/local/sh-tools/bin/sh-elf-objcopy
OBJDUMP        = /usr/local/sh-tools/bin/sh-elf-objdump
SIZE           = /usr/local/sh-tools/bin/sh-elf-size

ASFLAGS        = -Wa,-adhlns=$(<:.s=.lst),-gstabs
ALL_ASFLAGS    = -I. -x assembler-with-cpp $(ASFLAGS)
CFLAGS         = -I../include -I$(INCDIR) -Wall -g$(DEBUG) -m2a $(OPTIMIZE) $(DEFS)
LDFLAGS        = -Wl,-Map,$(TARGET).map,--cref,--gc-sections -T$(LDSCRIPT) -L $(LIBDIR)
OBJ            = $(CSRC:.c=.o) $(ASRC:.s=.o)


all: $(TARGET)

$(TARGET): $(OBJ)
	rm -f $(TARGET)
	ar -cqf $(TARGET) $(OBJ)

clean:
	rm -rf $(CSRC:.c=.o) $(ASRC:.s=.o)
	rm -rf *.eps *.bak *.a
	rm -rf *.lst *.map $(TARGET).elf
	rm -rf $(TARGET).mot $(TARGET).bin

mkdep:
	$(CC) -I../include -MM -MG $(CSRC) $(ASRC) >$(TARGET).dep

-include $(TARGET).dep

size: $(TARGET).elf
	$(SIZE) -A $(TARGET).elf

lst:  $(TARGET).lst
%.lst: %.elf
	$(OBJDUMP) -h -S -C $< > $@

%.o : %.s
	$(CC) -c $(ALL_ASFLAGS) $< -o $@


text: mot bin
mot:  $(TARGET).mot
bin:  $(TARGET).bin

%.mot: %.elf
	$(OBJCOPY) -j .text -j .data -O srec $< $@

%.bin: %.elf
	$(OBJCOPY) -j .text -j .data -O binary $< $@


