# UNIX makefile for PC-KIMMO and KTEXT
#               generic UNIX version,	SRMc, 15-Jan-92
############################################################################
#
# use the GNU compiler
CC=gcc -Wall -g
CFLAGS= -DUNIX -DUSG -O
SHELL=/bin/sh

############################################################################
#
# PC-KIMMO
#
OBJS=pckimmo.o usercmd.o userfunc.o\
 lexicon.o rules.o generate.o recogniz.o pckfuncs.o

SOURCES=pckimmo.c usercmd.c userfunc.c\
 lexicon.c rules.c generate.c recogniz.c pckfuncs.c
HEADERS=pckimmo.h version.h
EXTRAFILES=Errata Makefile Makefile.MSC Makefile.SCO README g.c r.c

pckimmo: $(OBJS)
	$(CC) $(CFLAGS) -o pckimmo $(OBJS)

all: pckimmo ktext
	@echo pckimmo and ktext have been made

pckimmo.calls: $(SOURCES)
	calls $(CALLFLAGS) $(SOURCES) >pckimmo.calls

pckimmo.o:  pckimmo.c  pckimmo.h version.h
usercmd.o:  usercmd.c  pckimmo.h
userfunc.o: userfunc.c pckimmo.h

lexicon.o:  lexicon.c  pckimmo.h
rules.o:    rules.c    pckimmo.h
recogniz.o: recogniz.c pckimmo.h
generate.o: generate.c pckimmo.h
pckfuncs.o: pckfuncs.c pckimmo.h

###############################################################################
#
#  KTEXT: program for using the PC-KIMMO functions in an AMPLE framework
#
LIBLOC=.

A_LIBS=$(LIBLOC)/opaclib/libopac.a $(LIBLOC)/cportlib/libcport.a 
A_OBJS=ktext.o lexicon.o rules.o recogniz.o pckfunc2.o

ktext: $(A_OBJS) $(A_LIBS)
	$(CC) $(CFLAGS) -o ktext $(A_OBJS) $(A_LIBS)

ktext.o: ktext.c pckimmo.h patchlevel.h
	$(CC) $(CFLAGS) -I$(LIBLOC) -o ktext.o -c ktext.c

pckfunc2.o:  pckfuncs.c pckimmo.h
	$(CC) $(CFLAGS) -o pckfunc2.o -c pckfuncs.c

#
# build the libraries if necessary
#

$(LIBLOC)/opaclib/libopac.a:
	(cd $(LIBLOC)/opaclib; make)
$(LIBLOC)/cportlib/libcport.a:
	(cd $(LIBLOC)/cportlib; make)

clean:
	rm -f *.o pckimmo ktext pckimmo.calls
	(cd $(LIBLOC)/cportlib; make clean)
	(cd $(LIBLOC)/opaclib; make clean)
