CCDRIVER = g++
CCFLAGS = -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wformat -Wparentheses -c -O3 -fno-external-templates

LIBDIRS = -L$(OPENWINHOME)/lib -L/usr/local/X11R6/lib -L/usr/X11/lib
INCDIRS = -I. -I$(OPENWINHOME)/include -I/usr/local/X11/include
LIBRARIES = -lxview -lolgx -lX11 -ltcl_7.4 -lfl -lm
OBJECTS =	collsys.o \
		basic.o \
		cgi.o \
		cgi_p.o \
		collage.o \
		convert.o \
		figures.o \
		grammar.o \
		hyper.o \
		matrix.o \
		point.o \
		boundbox.o \
		psout.o \
		vrout.o \
		trans.o \
		mathutil.o \
		envi.o \
		lex.yy.o \
		colgram.tab.o \
		slists.o \
		xvtextsw.o \
		TclCommander.o

.cc.o:
	$(CCDRIVER) $(CCFLAGS) $(INCDIRS) $< 

.c.o:
	$(CCDRIVER) $(CCFLAGS) $(INCDIRS) $<

cs: $(OBJECTS)
	$(CCDRIVER) $(LIBDIRS) $(OBJECTS) $(LIBRARIES) -o cs

clear:
	rm -f cs
	rm -f *.o
	rm -f lex.yy.cc
	rm -f colgram.tab.*

TclCommander.o: TclCommander.cc TclCommander.h cgi_p.h cgi.h basic.h \
 slists.h sstring.h envi.h boundbox.h point.h collage.h figures.h \
 trans.h matrix.h hyper.h
basic.o: basic.cc basic.h slists.h sstring.h
boundbox.o: boundbox.cc boundbox.h basic.h slists.h sstring.h point.h
cgi.o: cgi.cc cgi.h basic.h slists.h sstring.h cgi_p.h envi.h \
 boundbox.h point.h collage.h figures.h trans.h matrix.h hyper.h
cgi_p.o: cgi_p.cc cgi_p.h cgi.h basic.h slists.h sstring.h envi.h \
 boundbox.h point.h collage.h figures.h trans.h matrix.h hyper.h \
 vrout.h TclCommander.h cs.bitmap
collage.o: collage.cc psout.h basic.h slists.h sstring.h boundbox.h \
 point.h vrout.h collage.h figures.h trans.h matrix.h hyper.h cgi.h
collsys.o: collsys.cc collage.h figures.h trans.h matrix.h basic.h \
 slists.h sstring.h point.h boundbox.h hyper.h grammar.h envi.h \
 psout.h vrout.h cgi.h
convert.o: convert.cc collage.h figures.h trans.h matrix.h basic.h \
 slists.h sstring.h point.h boundbox.h hyper.h
envi.o: envi.cc collage.h figures.h trans.h matrix.h basic.h slists.h \
 sstring.h point.h boundbox.h hyper.h yytypes.h cgi.h envi.h
figures.o: figures.cc psout.h basic.h slists.h sstring.h boundbox.h \
 point.h vrout.h figures.h trans.h matrix.h cgi.h envi.h collage.h \
 hyper.h
grammar.o: grammar.cc psout.h basic.h slists.h sstring.h boundbox.h \
 point.h vrout.h collage.h figures.h trans.h matrix.h hyper.h cgi.h \
 grammar.h envi.h
hyper.o: hyper.cc psout.h basic.h slists.h sstring.h boundbox.h \
 point.h hyper.h trans.h matrix.h cgi.h
mathutil.o: mathutil.cc mathutil.h point.h basic.h slists.h sstring.h \
 boundbox.h matrix.h
matrix.o: matrix.cc matrix.h basic.h slists.h sstring.h point.h \
 boundbox.h
mkgolrules.o: mkgolrules.cc
permutate.o: permutate.cc
point.o: point.cc psout.h basic.h slists.h sstring.h boundbox.h \
 point.h vrout.h
psout.o: psout.cc ps_title.h psout.h basic.h slists.h sstring.h \
 boundbox.h point.h
slists.o: slists.cc slists.h
trans.o: trans.cc trans.h matrix.h basic.h slists.h sstring.h point.h \
 boundbox.h
vrout.o: vrout.cc vrout.h basic.h slists.h sstring.h
xvtextsw.o: xvtextsw.cc xvtextsw.h

lex.yy.o      : lex.yy.c
colgram.tab.o : colgram.tab.c
lex.yy.c      : colgram.l colgram.tab.c basic.h slists.h sstring.h envi.h\
  collage.h hyper.h trans.h matrix.h figures.h yytypes.h
	flex colgram.l
colgram.tab.c : colgram.y basic.h slists.h sstring.h envi.h yytypes.h\
collage.h hyper.h trans.h matrix.h figures.h
	bison -v -d colgram.y

