# $Id$ 

CC=h8300-hms-gcc
AR=h8300-hms-ar
CFLAGS= -O2 -mh -mrelax
AS=h8300-hms-as
CRT0=/usr/local/lib/h8/h8crt0.o
ROMX=/usr/local/lib/h8/h8rom.x

OBJS= subr.o timer.o sleep.o delay.o kbd.o parity.o psm.o pcport.o \
	sio0.o sio1.o lcd.o eeprom.o buffer.o \
	switch.o func.o disp.o 

all: kmsw.bin 

libkmsw.a : $(OBJS)
	$(AR) ruc libkmsw.a $(OBJS)

kmsw.bin : kmsw 
	h8300-hms-objcopy -O binary -R .stack kmsw kmsw.bin

kmsw : kmsw.o libkmsw.a
	$(CC) $(CFLAGS) -T ${ROMX} -nostartfiles\
	 -o kmsw ${CRT0} kmsw.o libkmsw.a

test1.bin : test1
	h8300-hms-objcopy -O binary -R .stack test1 test1.bin
test1 : test1.o libkmsw.a
	$(CC) $(CFLAGS) -T ${ROMX} -nostartfiles\
	 -o test1 ${CRT0} test1.o libkmsw.a

psm.c : kbd.c
	sed -f psm.sed < kbd.c > psm.c

sio1.c : sio0.c
	sed -f sio1.sed < sio0.c > sio1.c

checkint.c : checkint.awk checkint.dat
	awk -f checkint.awk < checkint.dat > checkint.c

kmsw.o : kmsw.c checkint.c
sio0.o : sio0.c
sio1.o : sio1.c
test1.o : test1.c
pcport.o : pcport.c
delay.o: delay.c 
kbd.o: kbd.c
psm.o: psm.c
parity.o: parity.c
sleep.o: sleep.c
timer.o: timer.c
lcd.o: lcd.c
eeprom.o: eeprom.c
buffer.o: buffer.c
switch.o: switch.c
disp.o: disp.c
func.o: func.c
subr.o: subr.S
	$(CC) $(CFLAGS) -c subr.S

tar: 
	DATE=`date +'%y%m%d'` ;\
	tar -zcvf html/kmsw-$$DATE.tgz kmsw.bin FILES Makefile *.[chS] *.sed *.awk
