# Eukleides 1.0.3 makefile
# Copyright (c) Christian Obrecht 2000-2005

CC = gcc
CFLAGS = -c -O2
OBJECTS = lex.yy.o parser.tab.o main.o geometry.o drawing.o
LEX = flex
YACC = bison -d

include Config

BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/man/man1
INFODIR = $(PREFIX)/info
PAPER = --texinfo=@afourpaper
DOC = eukleides.info eukleides.dvi eukleides.ps

$(BIN) : $(OBJECTS)
	$(CC) -o $@ -lm $(OBJECTS)

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

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

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

man : eukleides.1
	install -d $(MANDIR) ; \
	install -m 0644 $< $(MANDIR) ; \
	ln -fs $(MANDIR)/eukleides.1 $(MANDIR)/euk2eps.1 ; \
	ln -fs $(MANDIR)/eukleides.1 $(MANDIR)/euk2edit.1

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 : $(BIN) man info
	install -d $(BINDIR) ; \
	install -s $(BIN) $(BINDIR) ; \
	install euk2eps $(BINDIR) ; \
	install euk2edit $(BINDIR) ; \
	install -d $(INFODIR) ; \
	install-info eukleides.info $(INFODIR)/dir ; \
	install -m 0644 eukleides.info $(INFODIR)

uninstall :
	rm -f $(BINDIR)/$(BIN) ; \
	rm -f $(BINDIR)/euk2edit ; \
	rm -f $(BINDIR)/euk2eps ; \
	rm -f $(MANDIR)/eukleides.1 ; \
	rm -f $(MANDIR)/euk2eps.1 ; \
	rm -f $(MANDIR)/euk2edit.1 ; \
	install-info --delete eukleides.info $(INFODIR)/dir ; \
	rm -f $(INFODIR)/eukleides.info

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