1# Copyright (c) 2002 Trustees of Indiana University
2#
3# Distributed under the Boost Software License, Version 1.0.
4# (See accompanying file LICENSE_1_0.txt or copy at
5# http://www.boost.org/LICENSE_1_0.txt)
6
7DVIPS		= dvips
8
9LATEX		= latex
10LATEXOUT	= dvi
11RESULT		= ps
12
13LATEX		= pdflatex
14LATEXOUT	= pdf
15RESULT		= pdf
16
17.SUFFIXES: .tex .dvi .ps .pdf .c .lg .eps .fig .gif .dot .w .cpp .o .exe
18
19.tex.$(LATEXOUT):
20	@ if test ! -f $*.ind; then echo "" > $*.ind; fi
21	@ $(LATEX) $*
22	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
23	then $(LATEX) $* ; fi
24	@ if ( grep 'LaTeX Warning: Citation' $*.log > /dev/null ); \
25	then bibtex $* ; $(LATEX) $* ; fi
26	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
27	then $(LATEX) $* ; fi
28	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
29	then $(LATEX) $* ; fi
30	@ if ( grep 'Writing index file' $*.log > /dev/null ); \
31	then makeindex $* ; $(LATEX) $* ; fi
32	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
33	then $(LATEX) $* ; fi
34	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
35	then $(LATEX) $* ; fi
36
37.dvi.ps:
38	$(DVIPS) -t letter -o $*.ps $*
39
40.eps.pdf:
41	epstopdf $*.eps
42
43.dot.eps:
44	dot -Tps -o $*.eps $*.dot
45
46.w.tex: /afs/nd.edu/user11/jsiek/.jweb
47	jweb -np $*.w
48
49BOOST		= $(HOME)/boost
50BOOST_ALGO	= $(HOME)/boost.algorithm
51CXX		= c++
52INCLUDES	= -I$(BOOST) -I$(BOOST_ALGO)
53#OPT		= +K2 --display_error_number --diag_suppress=186
54OPT		= -Wall -Wno-long-double -ftemplate-depth-30
55CXXFLAGS	= $(OPT) $(INCLUDES)
56
57.cpp.o:
58	$(CXX) $(CXXFLAGS) $< -c
59
60
61JWEB	= isomorphism-impl.w isomorphism-impl-v3.w
62DOT	= out.dot in.dot iso-eg.dot iso-eg2.dot
63EPS_GEN	= $(DOT:.dot=.eps)
64WEBTEX	= $(JWEB:.w=.tex)
65PDFPICT	= $(EPS_GEN:.eps=.pdf)
66
67default: isomorphism-impl-v3.$(RESULT)
68
69final: isomorphism-impl-v3.$(RESULT)
70	$(LATEX) isomorphism-impl-v3
71	csh ./mungeaux.csh *.aux
72	$(LATEX) isomorphism-impl-v3
73
74#isomorphism-impl.dvi: $(EPS_GEN) $(WEBTEX)
75#isomorphism-impl.ps: isomorphism-impl.dvi
76#isomorphism-impl.pdf: $(EPS_GEN) $(PDFPICT) $(WEBTEX)
77#isomorphism.hpp: isomorphism-impl.w isomorphism-impl.tex
78
79isomorphism-impl-v3.dvi: $(DOT) $(EPS_GEN) $(WEBTEX)
80isomorphism-impl-v3.ps: isomorphism-impl-v3.dvi
81isomorphism-impl-v3.pdf: $(EPS_GEN) $(PDFPICT) $(WEBTEX)
82
83isomorphism-v3.hpp: isomorphism-impl-v3.w isomorphism-impl-v3.tex
84
85out.dot: isomorphism-impl.tex
86in.dot: isomorphism-impl.tex
87
88isomorphism.o: isomorphism-v3.hpp isomorphism-impl-v3.w
89
90isomorphism: isomorphism.o
91	$(CXX) $(CXXFLAGS) $< -o $@ $(LIBS)
92
93isomorphism-v3.hpp: isomorphism-impl-v3.tex isomorphism-impl-v3.w
94eg1-iso.o: isomorphism-impl-v3.tex isomorphism-impl-v3.w
95
96eg1-iso: eg1-iso.o
97	$(CXX) $(CXXFLAGS) $< -o $@ $(LIBS)
98
99
100clean:
101	rm *.aux *.dvi $(EPS_GEN) $(PDFPICT)
102