
LOCALINCLUDES = -I../parse

DOBJS = tlex.do
IHFILES = tlex.ih

OBJECTS = gentlex.o charset.o defaults.o output.o readtabc.o readtlx.o thongs.o

NormalObjectRule()
NormalATKRule()

ProgramTarget(gentlex, ${OBJECTS},   		${LIBS} ${BASELIBS}, \
					${SYSLIBS} ${BSDLIB})

InstallClassFiles($(DOBJS),$(IHFILES))
InstallProgram(gentlex, ${DESTDIR}/bin)
InstallFile(gentlex.h, $(INSTINCFLAGS), $(DESTDIR)/include/atk)
InstallDocs(tlex.doc, ${DESTDIR}/doc/syntax)

DependTarget()


/* the rest of this file is for testing */


/* KLUDGE: `make depend` will process the *.c files, so testness.c and
   testtlex.c are copied at test time */


/* bogus: use ness.tab.c for both */
/* dammit, why don't .SUFFIXES work the way I think it says it does */
ness.tab.c: ness.y ../bison/bison
	${RM} ness.tab.c
	../bison/bison -n ness.y
test.tlc: test.tlx ness.tab.c gentlex
	./gentlex test.tlx ness.tab.c
ness.tlc: ness.tlx ness.tab.c gentlex
	./gentlex ness.tlx ness.tab.c
CleanTarget(*.tlc *.tab.c *.act)

testtlex.c: testtlex.c.nodepend
	cp  testtlex.c.nodepend testtlex.c
testness.c: testness.c.nodepend
	cp  testness.c.nodepend testness.c
CleanTarget(testness.c testtlex.c)

testtlex.o: test.tlc ness.tab.c tlex.ih
testness.o: ness.tlc ness.tab.c tlex.ih

testtestness: testness
	./testness > /tmp/testness.owt 2>&1
	diff /tmp/testness.owt testness.owt
	

/* LIBS = ${BASEDIR}/lib/atk/libframe.a \
*//*	${BASEDIR}/lib/atk/libtext.a \
*//*	${BASEDIR}/lib/atk/libsupviews.a \
*//*	${BASEDIR}/lib/atk/libsupport.a
*/
LIBS=
TESTLIBS = ${BASEDIR}/lib/atk/libtext.a 

BASELIBS = 	${BASEDIR}/lib/liberrors.a \
	${MALLOCLIB}  \
	${RESOLVER_LIB}  \
	${UTILLIB}

TESTBASELIBS= ${BASEDIR}/lib/atk/libbasics.a \
	${BASEDIR}/lib/libclass.a \
	${BASEDIR}/lib/liberrors.a \
	${MALLOCLIB}  \
	${RESOLVER_LIB}  \
	${UTILLIB}

SYSLIBS =

ClassTestProgramTarget(testtlex, testtlex.o,  	${TESTLIBS} ${TESTBASELIBS}, \
					${SYSLIBS} ${BSDLIB})
ClassTestProgramTarget(testness, testness.o,	${TESTLIBS} ${TESTBASELIBS}, \
					${SYSLIBS} ${BSDLIB})
