#
# Makefile for mkchadic
#

CP      = cp
MV      = mv -f
SHELL   = /bin/sh
LIBDIR  = /usr/local/lib/chasen

MKDICDIR = $(LIBDIR)/mkchadic
LIBDIR = ../lib
INCS = -I$(LIBDIR)
CHALIB = $(LIBDIR)/libchasen.a

MAKEINTOBJS = makeint.o trans.o
MAKEMATOBJS = makemat.o
TRANSDICOBJS = transdic.o
SORTDICOBJS = sortdic.o
CONVGRAMOBJS = convgram.o
PATOBJS     = interface.o morph.o
EXES = makemat sortdic convgram pattool makeint transdic

.c.o:
	$(CC) $(CFLAGS) $(INCS) $(DEFS) -c -o $@ $<

.y.o:
	$(YACC) $<
	$(CC) $(CFLAGS) $(INCS) $(DEFS) -c y.tab.c
	$(MV) y.tab.o $@ 
	$(RM) y.tab.c

all: $(EXES)

makeint: $(MAKEINTOBJS) $(CHALIB)
	$(CC) $(LDFLAGS) -o $@ $(MAKEINTOBJS) $(CHALIB)

makemat: $(MAKEMATOBJS) $(CHALIB)
	$(CC) $(LDFLAGS) -o $@ $(MAKEMATOBJS) $(CHALIB)

transdic: $(TRANSDICOBJS) $(CHALIB)
	$(CC) $(LDFLAGS) -o $@ $(TRANSDICOBJS) $(CHALIB)

sortdic: $(SORTDICOBJS) $(CHALIB)
	$(CC) $(LDFLAGS) -o $@ $(SORTDICOBJS) $(CHALIB)

convgram: $(CONVGRAMOBJS) $(CHALIB)
	$(CC) $(LDFLAGS) -o $@ $(CONVGRAMOBJS) $(CHALIB)

pattool: $(PATOBJS) $(CHALIB)
	$(CC) $(LDFLAGS) -o $@ $(PATOBJS) $(CHALIB)

$(MAKEINTOBJS) $(MAKEMATOBJS) $(SORTDICOBJS) $(CONVGRAMOBJS): $(LIBDIR)/chadic.h
$(PATOBJS): $(LIBDIR)/pat.h

install: all
	-mkdir $(MKDICDIR)
	$(CP) $(EXES) $(MKDICDIR)

clean:
	$(RM) $(EXES) *.o core a.out
