include ../../make.include

CXXFLAGS = $(CXXOPT) $(TMPDB) -w \
	-I. -I.. -I../widget -I../vector \
	-I../list -I../fitsy++ -I../wcs -I../ast \
	-I../../include -I$(X11INCLUDE)/X11

SS	= \
	annulus.C \
	basebox.C \
	basecircle.C \
	baseellipse.C \
	basemarker.C \
	box.C \
	boxannulus.C \
	callback.C \
	circle.C \
	colorscale.C \
	colorscalergb.C \
	colorscalepseudo8.C \
	colorscaletrue8.C \
	colorscaletrue16.C \
	colorscaletrue24.C \
	colorscaletrue32.C \
	compass.C \
	contour.C \
	contourscale.C \
	coord.C \
	ellipse.C \
	ellipseannulus.C \
	fitsdata.C \
	fitsimage.C \
	fitsmap.C \
	frame.C \
	framebase.C \
	framepseudo8.C \
	framergb.C \
	framergbtrue.C \
	framergbtrue8.C \
	framergbtrue16.C \
	framergbtrue24.C \
	frametrue.C \
	frametrue8.C \
	frametrue16.C \
	frametrue24.C \
	frblt.C \
	frcommand.C \
	frload.C \
	frmarker.C \
	frsave.C \
	frscale.C \
	fvcontour.C \
	grid.C \
	line.C \
	marker.C \
	nan.C \
	panda.C \
	point.C \
	polygon.C \
	print.C \
	projection.C \
	ps.C \
	rotstr.C \
	ruler.C \
	text.C

SRC	= $(SS) \
	ciaoparser.C \
	ciaolex.C \
	ds9parser.C \
	ds9lex.C \
	parser.C \
	lex.C \
	prosparser.C \
	proslex.C \
	saoparser.C \
	saolex.C \
	tngparser.C \
	tnglex.C \
	xyparser.C \
	xylex.C

TAGS	= $(SS) *.h

OBJS	= $(SRC:%.C=%.o)

all	: $(OBJS)

clean	: FORCE
	rm -f core *~ *#

distclean : clean
	rm -f TAGS *.o parser.output ds9parser.output ciaoparser.output prosparser.output tngparser.output saoparser.output xyparser.output

TAGS	: $(TAGS)
	etags $+

parsers	: ciaoparser ds9parser parser prosparser saoparser tngparser xyparser

ciaoparser : FORCE
	bison -d -p ciao -o ciaoparser.C ciaoparser.Y
	flex -Pciao -ociaolex.C ciaolex.L

ds9parser : FORCE
	bison -d -p mk -o ds9parser.C ds9parser.Y
	flex -Pmk -ods9lex.C ds9lex.L

parser : FORCE
	bison -d -p fr -o parser.C parser.Y
	flex -Pfr -olex.C lex.L

prosparser : FORCE
	bison -d -p pros -o prosparser.C prosparser.Y
	flex -Ppros -oproslex.C proslex.L

saoparser : FORCE
	bison -d -p sao -o saoparser.C saoparser.Y
	flex -Psao -osaolex.C saolex.L

tngparser : FORCE
	bison -d -p tng -o tngparser.C tngparser.Y
	flex -Ptng -otnglex.C tnglex.L

xyparser : FORCE
	bison -d -p xy -o xyparser.C xyparser.Y
	flex -Pxy -oxylex.C xylex.L

FORCE	:

ifndef DEPENDS
%.d: %.C
	set -e; $(CXX) -MM $(CXXFLAGS) $< \
	| sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
	[ -s $@ ] || rm -f $@

include $(SRC:.C=.d)
endif
