-TITLE=hbugs-calculemus-2003
-REPEAT=3
-all: $(TITLE).ps
-%.ps: %.dvi
- dvips -f $< > $@
-%.dvi: %.tex eps/*.eps
- for i in $(shell seq 1 $(REPEAT)); do latex $<; done
-show: $(TITLE).dvi
- xdvi $(TITLE).dvi
-showps: $(TITLE).ps
- gv $(TITLE).ps
+
+#
+# Generic makefile for latex
+#
+# Author: Stefano Zacchiroli <zack@bononia.it>
+#
+# Created: Sun, 29 Jun 2003 12:00:55 +0200 zack
+# Last-Modified: Sun, 29 Jun 2003 12:00:55 +0200 zack
+#
+
+########################################################################
+
+# list of .tex _main_ files
+TEXS = hbugs-calculemus-2003.tex
+
+# number of runs of latex (for table of contents, list of figures, ...)
+RUNS = 3
+
+# do you need bibtex?
+BIBTEX = no
+
+# which formats generated by default ("all" target)?
+# (others will be generated by "world" target)
+FORMATS = $(AVAILABLE_FORMATS)
+AVAILABLE_FORMATS = dvi ps ps.gz pdf
+
+########################################################################
+
+ADVI = advi
+BIBTEX = bibtex
+BROWSER = galeon
+DVIPDF = dvipdf
+DVIPS = dvips
+GV = gv
+GZIP = gzip
+HEVEA = hevea
+ISPELL = ispell
+LATEX = latex
+XDVI = xdvi
+
+ALL_FORMATS = $(FORMATS)
+WORLD_FORMATS = $(AVAILABLE_FORMATS)
+
+all: $(ALL_FORMATS)
+world: $(WORLD_FORMATS)
+
+DVIS = $(TEXS:.tex=.dvi)
+PSS = $(TEXS:.tex=.ps)
+PSGZS = $(TEXS:.tex=.ps.gz)
+PDFS = $(TEXS:.tex=.pdf)
+HTMLS = $(TEXS:.tex=.html)
+
+dvi: $(DVIS)
+ps: $(PSS)
+ps.gz: $(PSGZS)
+pdf: $(PDFS)
+html: $(HTMLS)
+
+show: showps
+showdvi: $(DVIS)
+ $(XDVI) $<
+showps: $(PSS)
+ $(GV) $<
+showpdf: $(PDFS)
+ $(GV) $<
+showpsgz: $(PSGZS)
+ $(GV) $<
+showhtml: $(HTMLS)
+ $(BROWSER) $<
+
clean:
- rm -f $(TITLE).{ps,dvi,log,aux}
-.PHONY: all show showps clean
+ rm -f \
+ $(TEXS:.tex=.dvi) $(TEXS:.tex=.ps) $(TEXS:.tex=.ps.gz) \
+ $(TEXS:.tex=.pdf) $(TEXS:.tex=.aux) $(TEXS:.tex=.log) \
+ $(TEXS:.tex=.html)
+
+%.dvi: %.tex
+ $(LATEX) $<
+ if [ "$(BIBTEX)" = "yes" ]; then $(BIBTEX) $*; fi
+ if [ "$(RUNS)" -gt 1 ]; then \
+ for i in seq 1 `expr $(RUNS) - 1`; do \
+ $(LATEX) $<; \
+ done; \
+ fi
+%.ps: %.dvi
+ $(DVIPS) -o $@ $<
+%.ps.gz: %.ps
+ $(GZIP) -c $< > $@
+%.pdf: %.dvi
+ $(DVIPDF) $< $@
+%.html: %.tex
+ $(HEVEA) $<
+
+.PHONY: all ps pdf html clean
+