# This makefile has been written for GNU make
#
# CC       = gcc-sun4
# LEX      = flex
LIBS       = -ll -lcurses -ltermcap -laudio -lm
OPT        = -O
# WARN     = -W -Wunused
WARN       =
CFLAGS     = $(OPT) $(WARN)
SOUND	   = /usr/demo/SOUND
CPPFLAGS   = -I$(SOUND)
LDFLAGS    = -g -L$(SOUND)
UKLATTSRCS = uklatt.c parwave.c hplay.c
UKLATTOBJS = uklatt.o parwave.o hplay.o
GENSRCS    =  gen.c features.c  rules.c plosives.c fricatives.c\
	sonorants.c vowels.c phread.c
GENOBJS = features.o lex.yy.o rules.o plosives.o fricatives.o\
	sonorants.o vowels.o phread.o

SKLATTSRCS = sklatt.c parwave.c hplay.c

all: klatt uklatt gen sklatt

klatt : klatt.o parwave.o
	$(CC) $(LDFLAGS) -o klatt klatt.o parwave.o $(LIBS)

uklatt:	$(UKLATTOBJS)
	$(CC) $(LDFLAGS) -o uklatt $(UKLATTOBJS) $(LIBS)

sklatt: sklatt.o parwave.o hplay.o
	$(CC) $(LDFLAGS) -o sklatt sklatt.o parwave.o hplay.o $(LIBS)

gen:	gen.o $(GENOBJS)
	$(CC) $(LDFLAGS) -o gen gen.o $(GENOBJS) $(LIBS)

ngen:	ngen.o $(GENOBJS)
	$(CC) $(LDFLAGS) -o ngen ngen.o $(GENOBJS) $(LIBS)

lex.yy.c : phone.lex phonemes.h
	$(LEX) phone.lex

lex.yy.o : lex.yy.c
	$(CC) $(OPT) $(CPPFLAGS) -c -o $@ $<

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

clean:
	rm -f *.o uklatt klatt gen sklatt lex.yy.c tmp.par core

spotless: clean
	rm -f *~ *%

distribution: spotless
	name=`pwd | sed 's:^.*/::`;\
        cd .. ;\
        tar cvf - $$name | compress > $$name.tar.Z

#MM
features.o : features.c proto.h phonemes.h features.h
fricatives.o : fricatives.c proto.h phonemes.h features.h gen.h
gen.o : gen.c proto.h phonemes.h features.h gen.h
hplay.o : hplay.c $(SOUND)/multimedia/libaudio.h $(SOUND)/multimedia/audio_errno.h $(SOUND)/multimedia/audio_hdr.h \
  $(SOUND)/multimedia/audio_device.h $(SOUND)/multimedia/ulaw2linear.h proto.h hplay.h
klatt.o : klatt.c proto.h parwave.h
lex.yy.o : lex.yy.c phonemes.h
pargraf.o : pargraf.c
parwave.o : parwave.c proto.h parwavta.def parwave.h
phread.o : phread.c proto.h phonemes.h features.h gen.h
plosives.o : plosives.c proto.h phonemes.h features.h gen.h
rules.o : rules.c proto.h phonemes.h features.h gen.h
sklatt.o : sklatt.c $(SOUND)/multimedia/libaudio.h $(SOUND)/multimedia/audio_errno.h \
  $(SOUND)/multimedia/audio_hdr.h $(SOUND)/multimedia/audio_filehdr.h $(SOUND)/multimedia/archdep.h \
  $(SOUND)/multimedia/ulaw2linear.h proto.h parwave.h hplay.h
sonorants.o : sonorants.c proto.h phonemes.h features.h gen.h
uklatt.o : uklatt.c proto.h $(SOUND)/multimedia/libaudio.h $(SOUND)/multimedia/audio_errno.h \
  $(SOUND)/multimedia/audio_hdr.h $(SOUND)/multimedia/audio_filehdr.h $(SOUND)/multimedia/archdep.h \
  $(SOUND)/multimedia/ulaw2linear.h $(SOUND)/multimedia/audio_device.h hplay.h parwave.h
vowels.o : vowels.c proto.h phonemes.h features.h gen.h
