.include "../big5con.mk"

# path of ET3
ETDIR=et3

PHS_OUT=sample.phs.b5c
PROGS=ph2xcin tsa2d tsd2a d1st kbmcv phs_out cin2tab
TABS=cj.tab pho.tab liu.tab dayi3.tab array30.tab phone.tab \
	simplex.tab
REVTABS=cj.tab.rev liu.tab.rev dayi3.tab.rev array30.tab.rev phone.tab.rev \
	simplex.tab.rev
TSINTABS=tsin tsin.idx pho.sel1st
QTABS=
KBMS=zo.kbm et.kbm et26.kbm hsu.kbm 

all:	$(PROGS) $(TABS) $(FONTS) $(CLIOBJ) $(TSINTABS) \
	$(PHS_OUT) $(KBMS)

# ` from xcin2.5
phone.tab: phone.cin cin2tab
	@echo generating $@
	@./cin2tab phone

# ² from xcin2.5 cin2tab
simplex.tab: simplex.cin
	@echo generating $@
	@./cin2tab simplex

# F
liu.tab: liu.cin cin2tab
	@echo generating $@
	@./cin2tab liu

# j from xcin2.5 contrib
dayi3.tab: dayi3.cin cin2tab
	@echo generating $@
	@./cin2tab dayi3

# C30 from xcin2.5
array30.tab: array30.cin cin2tab
	@echo generating $@
	@./cin2tab array30

# ܾe from xcin2.5
cj.tab:	cj.cin cin2tab
	@echo generating $@
	@./cin2tab cj

# `
pho.tab: ph2xcin phonetic.tab
	@echo generating $@
	@./ph2xcin
phonetic.tab:
	@ln -s $(ETDIR)/phonetic.tab .
ph2xcin:	ph2xcin.c tran.o
	$(CC) $(CFLAGS) ph2xcin.c tran.o -o $@

cin2tab: cin2tab.c
	$(CC) $(CFLAGS) cin2tab.c -o $@

# w
phs_out:	phs_out.c
		$(CC) $(CFLAGS) phs_out.c -o $@
sample.phs.b5c: phs_out sample.phs
		@echo generating $@
		@./phs_out sample.phs

# 
tsa2d:	tsa2d.c
	$(CC) $(CFLAGS) tsa2d.c -o $@
tsd2a:	tsd2a.c
	$(CC) $(CFLAGS) tsd2a.c -o $@
tsin: tsa2d tsin.src
	@echo generating $@
	@./tsa2d tsin.src

d1st:	d1st.c
	$(CC) $(CFLAGS) d1st.c -o $@
pho.sel1st:	d1st pho1st
	@echo generating $@
	@./d1st

kbmcv:	kbmcv.c
	$(CC) $(CFLAGS) kbmcv.c -o $@
zo.kbm: kbmcv zo.kbm.src
	@echo generating $@
	@./kbmcv zo
et.kbm: kbmcv et.kbm.src
	@echo generating $@
	@./kbmcv et
et26.kbm: kbmcv et26.kbm.src
	@echo generating $@
	@./kbmcv et26
hsu.kbm: kbmcv hsu.kbm.src
	@echo generating $@
	@./kbmcv hsu 

install: all
	@if [ ! -d $(XCIN_DIR) ]; then mkdir -p $(XCIN_DIR); fi
	$(INSTALL_DATA) $(PHS_OUT) $(XCIN_DIR)
	$(INSTALL_DATA) $(TABS) $(XCIN_DIR)
	$(INSTALL_DATA) $(REVTABS) $(XCIN_DIR)
	$(INSTALL_DATA) $(TSINTABS) $(XCIN_DIR)
	$(INSTALL_DATA) $(QTABS) *.sel1st $(XCIN_DIR)
	$(INSTALL_DATA) $(KBMS) $(XCIN_DIR)

clean::
	rm -f *.o $(PROGS)
	rm -f *.rev *.tab *.quick core *.bak *.dir *.tbl *.sel1st
	rm -f $(TSINTABS) $(KBMS)
	rm -f *~ *_ *.out *.b5c *.phr aa bb *.core *.BAK
