# Xeukleides 0.9.0 makefile
# Copyright (c) Christian Obrecht 2000-2002

CC = gcc
CFLAGS = -c -O2 `gtk-config --cflags`
OBJECTS = lex.yy.o parser.tab.o main.o geometry.o drawing.o
LEX = flex
YACC = bison -d
BIN = /usr/local/bin/
MAN = /usr/man/man1/
INFO = /usr/info/
PAPER = --texinfo=@afourpaper
DOC = eukleides.info eukleides.dvi eukleides.ps

xeukleides : $(OBJECTS)
	$(CC) -o $@ `gtk-config --libs` $(OBJECTS)

.c.o :
	$(CC) $(CFLAGS) $<

lex.yy.c : lexer.l parser.tab.c
	$(LEX) $<

parser.tab.c : parser.y
	$(YACC) $<

man : xeukleides.man
	cp -f $< $(MAN)xeukleides.1x

info : eukleides.texi
	makeinfo $<

dvi : eukleides.texi
	cp $< tmp.texi ; \
	texi2dvi $(PAPER) tmp.texi ; \
	mv tmp.dvi eukleides.dvi ; \
	rm -f tmp.*

book : dvi
	dvips -f eukleides.dvi > eukleides.ps

install : xeukleides man info
	strip xeukleides ; \
	cp -f xeukleides $(BIN)xeukleides ; \
	install-info eukleides.info $(INFO)dir ; \
	cp -f eukleides.info $(INFO)eukleides.info

uninstall :
	rm -f $(BIN)xeukleides ; \
	rm -f $< $(MAN)xeukleides.1x ; \
	rm -f eukleides.info $(INFO)eukleides.info ; \
	install-info --delete eukleides.info $(INFO)dir ; \

clean :
	rm -f lex.yy.c parser.tab.* *.o xeukleides $(DOC)
