| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | #
 | 
					
						
							|  |  |  | # LaTeX Makefile
 | 
					
						
							|  |  |  | # --------------
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Author : s.m.vandenoord@student.utwente.nl (Stefan van den Oord)
 | 
					
						
							|  |  |  | # Date   : July 15, 1999
 | 
					
						
							|  |  |  | # 
 | 
					
						
							|  |  |  | # This Makefile is a generic makefile for LaTeX documents. Distribute it
 | 
					
						
							|  |  |  | # as you wish, but please don't edit or remove this initial comment.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # The Makefile can be used by setting the environment variable "MAKEFILES",
 | 
					
						
							|  |  |  | # e.g. export MAKEFILES=~/data/TeX/Makefile.
 | 
					
						
							|  |  |  | # It requires GNU Make and bash or better, like zsh. Simply sh is not
 | 
					
						
							|  |  |  | # sufficient, I believe. The first few lines of the Makefile contains
 | 
					
						
							|  |  |  | # the executables that are used, edit them to point to the executables
 | 
					
						
							|  |  |  | # on your system.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # DISCLAIMER: Using this Makefile is fully at your own risk. I am not
 | 
					
						
							|  |  |  | #             responsible for anything! So if crucial files are removed
 | 
					
						
							|  |  |  | #             by the Makefile, it is your own problem. But you should
 | 
					
						
							|  |  |  | #             have backups anyway. :-)
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Usage
 | 
					
						
							|  |  |  | # -----
 | 
					
						
							|  |  |  | # The Makefile can do the following things for you:
 | 
					
						
							|  |  |  | # - generate PostScript equivalents of XFig figures;
 | 
					
						
							|  |  |  | # - run makeindex and BibTeX, but only if necessary;
 | 
					
						
							|  |  |  | # - compile the .dvi file, running LaTeX as many times as needed;
 | 
					
						
							|  |  |  | # - run XDvi with the compiled .dvi file;
 | 
					
						
							|  |  |  | # - create a PostScript equivalent of the .dvi file;
 | 
					
						
							|  |  |  | # - generate a HTML equivalent of the .dvi file (if Latex2HTML is
 | 
					
						
							|  |  |  | #   installed);
 | 
					
						
							|  |  |  | # - remove all generated output.
 | 
					
						
							|  |  |  | # The Makefile is in some points even RCS aware.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # In many cases, you don't even have to tell the Makefile which LaTeX
 | 
					
						
							|  |  |  | # file it has to compile. The Makefile uses the following strategy:
 | 
					
						
							|  |  |  | # 1. Check if the environment variable LATEXTARGET is set; if it is,
 | 
					
						
							|  |  |  | #    generate $LATEXTARGET.dvi.
 | 
					
						
							|  |  |  | # 2. If there is only one .tex file, use that one.
 | 
					
						
							|  |  |  | # 3. Check if there is a LaTeX file that has the same basename as the
 | 
					
						
							|  |  |  | #    directory. For example, if the directory is named "Thesis" and
 | 
					
						
							|  |  |  | #    there is a file "Thesis.tex", "Thesis.dvi" is generated.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Invocation
 | 
					
						
							|  |  |  | # ----------
 | 
					
						
							|  |  |  | # When the MAKEFILES environment variable is set, you can use the
 | 
					
						
							|  |  |  | # following commands:
 | 
					
						
							|  |  |  | # - make latexhelp
 | 
					
						
							|  |  |  | #   Prints an overview of the available commands.
 | 
					
						
							|  |  |  | # - make latexfigures
 | 
					
						
							|  |  |  | #   Only generate the PostScript equivalents of XFig figures.
 | 
					
						
							|  |  |  | # - make file.dvi
 | 
					
						
							|  |  |  | #   Generates the specified DVI file.
 | 
					
						
							|  |  |  | # - make file.ps
 | 
					
						
							|  |  |  | #   Generates the DVI file and then runs dvips.
 | 
					
						
							|  |  |  | # - make latex
 | 
					
						
							|  |  |  | #   Use the above explained strategy to find out what has to be
 | 
					
						
							|  |  |  | #   generated, and generate it.
 | 
					
						
							|  |  |  | # - make view
 | 
					
						
							|  |  |  | #   Do a make latex and then run XDvi.
 | 
					
						
							|  |  |  | # - make latexps
 | 
					
						
							|  |  |  | #   Do a make latex and then run dvips.
 | 
					
						
							|  |  |  | # - make html
 | 
					
						
							|  |  |  | #   Do a make latex and then use LaTeX2HTML to create the HTML equivalent.
 | 
					
						
							|  |  |  | #   To do this, the following environment variables are used:
 | 
					
						
							|  |  |  | #   * HTMLDIR : the base dir in which the output is written. For example,
 | 
					
						
							|  |  |  | #               if HTMLDIR=~/public_html/LaTeX, and the file that is
 | 
					
						
							|  |  |  | #               generated is "Thesis", the output will be written in the
 | 
					
						
							|  |  |  | #               directory ~/public_html/LaTeX/Thesis.
 | 
					
						
							|  |  |  | #   * LATEX2HTML_OPTS : if you want to pass options to LaTeX2HTML, put
 | 
					
						
							|  |  |  | #                       them in this variable.
 | 
					
						
							|  |  |  | # - make latexclean
 | 
					
						
							|  |  |  | #   This command removes all generated output. CAUTION: the files that are
 | 
					
						
							|  |  |  | #   removed are thought out pretty well, but it is possible that files are
 | 
					
						
							|  |  |  | #   removed that you wanted to keep! Check below what files are removed if
 | 
					
						
							|  |  |  | #   you want to be certain!
 | 
					
						
							|  |  |  | #   Note that a file figure.eps is only removed if a file figure.fig exists.
 | 
					
						
							|  |  |  | #   (Even if the file figure.fig exists, but is checked in using RCS, the
 | 
					
						
							|  |  |  | #   file figure.eps will be removed.)
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Tip
 | 
					
						
							|  |  |  | # ---
 | 
					
						
							|  |  |  | # For some projects it is useful to have a separate Makefile in the project's
 | 
					
						
							|  |  |  | # directory. For example, when you use RCS, you could add functionality for
 | 
					
						
							|  |  |  | # automatic checkouts of the right files (adding dependencies is sufficient;
 | 
					
						
							|  |  |  | # GNU Make rocks :-).
 | 
					
						
							|  |  |  | # The command "latexclean" is declared so that you can add your own
 | 
					
						
							|  |  |  | # functionality in the project's Makefile; instead of one colon, declare it
 | 
					
						
							|  |  |  | # with two colons if you want to do that.
 | 
					
						
							|  |  |  | # For example:
 | 
					
						
							|  |  |  | # latexclean::
 | 
					
						
							|  |  |  | #     rm -f foo.bar
 | 
					
						
							|  |  |  | # This way both the origional definition in this Makefile and your own are
 | 
					
						
							|  |  |  | # used.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # Changes:
 | 
					
						
							|  |  |  | # - March 22, 1999:
 | 
					
						
							|  |  |  | #   Added -o $@ to the dvips invocation.
 | 
					
						
							|  |  |  | # - June 3, 1999:
 | 
					
						
							|  |  |  | #   Removed the target "all" from the help output.
 | 
					
						
							|  |  |  | # - June 4, 1999:
 | 
					
						
							|  |  |  | #   'latexclean' now only removes a DVI files if there is a TeX file
 | 
					
						
							|  |  |  | #   with the same name.
 | 
					
						
							|  |  |  | # - June 17, 1999:
 | 
					
						
							|  |  |  | #   Removed the `find' command in the latexclean target. This is because
 | 
					
						
							|  |  |  | #   the option '-maxdepth' is Linux-specific. And `ls' is simpler anyway.
 | 
					
						
							|  |  |  | #   :-)
 | 
					
						
							|  |  |  | # - July 15, 1999:
 | 
					
						
							|  |  |  | #   The variables "LATEX", "BIBTEX", etc. are now taken from the environment
 | 
					
						
							|  |  |  | #   if they are defined there.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #.SILENT:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SHELL=/bin/bash | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef LATEX | 
					
						
							|  |  |  | LATEX=latex | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef BIBTEX | 
					
						
							|  |  |  | BIBTEX=bibtex | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef DVIPS | 
					
						
							|  |  |  | DVIPS=dvips | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef MAKEINDEX | 
					
						
							|  |  |  | MAKEINDEX=makeindex | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef DVIVIEWER | 
					
						
							|  |  |  | DVIVIEWER=xdvi | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | ifndef PDFVIEWER | 
					
						
							|  |  |  | PDFVIEWER=acroread | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | ifndef LATEX2HTML | 
					
						
							|  |  |  | LATEX2HTML=latex2html | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef SED | 
					
						
							|  |  |  | SED=sed | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef PDFLATEX | 
					
						
							|  |  |  | PDFLATEX=pdflatex | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef THUMBPDF | 
					
						
							|  |  |  | THUMBPDF=thumbpdf | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FIGURES=$(wildcard *.fig) | 
					
						
							|  |  |  | FIGUREOBJS=$(FIGURES:.fig=.eps) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEXFILES=$(wildcard *.tex) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #test: latexhelp
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Disable standard pattern rule:
 | 
					
						
							|  |  |  | %.dvi: %.tex | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Do not delete the following targets:
 | 
					
						
							|  |  |  | .PRECIOUS: %.aux %.bbl %.eps %.ind | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.aux: %.tex $(FIGUREOBJS) $(TEXFILES) | 
					
						
							|  |  |  | 	@$(LATEX) $* | 
					
						
							|  |  |  | # Look for citations. Make sure grep never returns an error code.
 | 
					
						
							|  |  |  | 	@grep "^\\\\citation" *.aux > .btmp.new || true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # If the citations are not changed, don't do anything. Otherwise replace
 | 
					
						
							|  |  |  | # the .btmp file to make sure Bibtex will be run.
 | 
					
						
							|  |  |  | 	@if ( diff .btmp.new .btmp >& /dev/null ); then \
 | 
					
						
							|  |  |  | 		rm .btmp.new; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		mv .btmp.new .btmp; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	@if [ -f $*.idx ]; then cp $*.idx .itmp.new; else touch .itmp.new; fi | 
					
						
							|  |  |  | 	@if ( diff .itmp.new .itmp >& /dev/null ); then \
 | 
					
						
							|  |  |  | 		rm .itmp.new; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		mv .itmp.new .itmp; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .btmp: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.bbl: $(BIBFILES) .btmp | 
					
						
							|  |  |  | # Only use BibTeX if \bibliography occurs in the document. In that case,
 | 
					
						
							|  |  |  | # run BibTeX and recompile. .btmp is touched to prevent useless making
 | 
					
						
							|  |  |  | # next time.
 | 
					
						
							|  |  |  | 	@if ( grep "^\\\\bibliography{" $*.tex > /dev/null ); then \
 | 
					
						
							|  |  |  | 		$(BIBTEX) $*; \
 | 
					
						
							|  |  |  | 		touch .rerun; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 	@touch .btmp | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .itmp: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.ind: .itmp | 
					
						
							|  |  |  | 	@if [ -f $*.idx ]; then \
 | 
					
						
							|  |  |  | 		cat $*.idx | $(SED) -e 's/ *{/{/g;s/ *}/}/g;s/ *=/=/g' > temp.idx; \
 | 
					
						
							|  |  |  | 		rm $*.idx; \
 | 
					
						
							|  |  |  | 		mv temp.idx $*.idx; \
 | 
					
						
							|  |  |  | 		$(MAKEINDEX) -g -s rene.ist $*; \
 | 
					
						
							|  |  |  | 		touch .rerun; \
 | 
					
						
							|  |  |  | 		touch .itmp; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.eps:%.fig | 
					
						
							|  |  |  | 	@echo Generating figure $@... | 
					
						
							|  |  |  | 	@fig2dev -L ps $< $@ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.dvi: %.aux %.ind %.bbl | 
					
						
							|  |  |  | # Make sure the dvi-file exists; if not: recompile.
 | 
					
						
							|  |  |  | 	@if [ ! -f $*.dvi ]; then \
 | 
					
						
							|  |  |  | 		touch .rerun; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	@if [ -f .rerun ]; then \
 | 
					
						
							|  |  |  | 		rm .rerun; \
 | 
					
						
							|  |  |  | 		$(LATEX) $*; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		$(MAKE) $*.aux; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # While references et al. are changed: recompile.
 | 
					
						
							|  |  |  | 	@while ( grep Rerun $*.log > /dev/null ); do \
 | 
					
						
							|  |  |  | 		$(LATEX) $*; \
 | 
					
						
							|  |  |  | 	done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Touch the figureobjects to prevent making next time
 | 
					
						
							|  |  |  | 	@if [ -n "$(FIGUREOBJS)" ]; then \
 | 
					
						
							|  |  |  | 		touch $(FIGUREOBJS); \
 | 
					
						
							|  |  |  | 		touch $*.aux; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	@if [ -f $*.ind ]; then \
 | 
					
						
							|  |  |  | 		touch $*.ind; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.pdf: %.aux %.ind %.bbl | 
					
						
							|  |  |  | # Make sure the pdf-file exists; if not: recompile.
 | 
					
						
							|  |  |  | 	@if [ ! -f $*.pdf ]; then \
 | 
					
						
							|  |  |  | 		touch .rerun; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	@if [ -f .rerun ]; then \
 | 
					
						
							|  |  |  | 		rm .rerun; \
 | 
					
						
							|  |  |  | 		$(PDFLATEX) $*; \
 | 
					
						
							|  |  |  | 		$(THUMBPDF) $*; \
 | 
					
						
							|  |  |  | 		$(PDFLATEX) $*; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		$(MAKE) $*.aux; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # While references et al. are changed: recompile.
 | 
					
						
							|  |  |  | 	@while ( grep Rerun $*.log > /dev/null ); do \
 | 
					
						
							|  |  |  | 		$(PDFLATEX) $*; \
 | 
					
						
							|  |  |  | 		$(THUMBPDF) $*; \
 | 
					
						
							|  |  |  | 		$(PDFLATEX) $*; \
 | 
					
						
							|  |  |  | 	done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Touch the figureobjects to prevent making next time
 | 
					
						
							|  |  |  | 	@if [ -n "$(FIGUREOBJS)" ]; then \
 | 
					
						
							|  |  |  | 		touch $(FIGUREOBJS); \
 | 
					
						
							|  |  |  | 		touch $*.aux; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	@if [ -f $*.ind ]; then \
 | 
					
						
							|  |  |  | 		touch $*.ind; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | pdflatex: | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | # Below the 'true' is included to prevent unnecessarily many errors.
 | 
					
						
							|  |  |  | 	@if [ -n "${LATEXTARGET}" ]; then \
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | 		$(MAKE) ${LATEXTARGET}.pdf; \
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | 		true; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		if [ `ls *.tex | wc -l` = "1" ]; then \
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | 			$(MAKE) `basename \`ls *.tex\` .tex`.pdf; \
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | 			true; \
 | 
					
						
							|  |  |  | 		else \
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | 			$(MAKE) `echo $$PWD|tr '/' '\n'|tail -1`.pdf; \
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | 			true; \
 | 
					
						
							|  |  |  | 		fi; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | latex: | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | # Below the 'true' is included to prevent unnecessarily many errors.
 | 
					
						
							|  |  |  | 	@if [ -n "${LATEXTARGET}" ]; then \
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | 		$(MAKE) ${LATEXTARGET}.dvi; \
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | 		true; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		if [ `ls *.tex | wc -l` = "1" ]; then \
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | 			$(MAKE) `basename \`ls *.tex\` .tex`.dvi; \
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | 			true; \
 | 
					
						
							|  |  |  | 		else \
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | 			$(MAKE) `echo $$PWD|tr '/' '\n'|tail -1`.dvi; \
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | 			true; \
 | 
					
						
							|  |  |  | 		fi; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | latexfigures: | 
					
						
							|  |  |  | 	@for i in $(FIGUREOBJS); do \
 | 
					
						
							|  |  |  | 		$(MAKE) $$i; \
 | 
					
						
							|  |  |  | 	done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | viewdvi: | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | # Below the 'true' is included to prevent unnecessarily many errors.
 | 
					
						
							|  |  |  | 	@if [ -n "${LATEXTARGET}" ]; then \
 | 
					
						
							|  |  |  | 		$(MAKE) ${LATEXTARGET}.dvi && \
 | 
					
						
							|  |  |  | 		$(DVIVIEWER) ${LATEXTARGET}.dvi; \
 | 
					
						
							|  |  |  | 		true; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		if [ `ls *.tex | wc -l` = "1" ]; then \
 | 
					
						
							|  |  |  | 			$(MAKE) `basename \`ls *.tex\` .tex`.dvi && \
 | 
					
						
							|  |  |  | 			$(DVIVIEWER) `basename \`ls *.tex\` .tex`.dvi; \
 | 
					
						
							|  |  |  | 			true; \
 | 
					
						
							|  |  |  | 		else \
 | 
					
						
							|  |  |  | 			$(MAKE) `echo $$PWD|tr '/' '\n'|tail -1`.dvi && \
 | 
					
						
							|  |  |  | 			$(DVIVIEWER) `echo $$PWD|tr '/' '\n'|tail -1`.dvi; \
 | 
					
						
							|  |  |  | 			true; \
 | 
					
						
							|  |  |  | 		fi; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-10-09 07:09:33 +00:00
										 |  |  | view: | 
					
						
							|  |  |  | # Below the 'true' is included to prevent unnecessarily many errors.
 | 
					
						
							|  |  |  | 	@if [ -n "${LATEXTARGET}" ]; then \
 | 
					
						
							|  |  |  | 		$(MAKE) ${LATEXTARGET}.pdf && \
 | 
					
						
							|  |  |  | 		$(PDFVIEWER) ${LATEXTARGET}.pdf; \
 | 
					
						
							|  |  |  | 		true; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		if [ `ls *.tex | wc -l` = "1" ]; then \
 | 
					
						
							|  |  |  | 			$(MAKE) `basename \`ls *.tex\` .tex`.pdf && \
 | 
					
						
							|  |  |  | 			$(PDFVIEWER) `basename \`ls *.tex\` .tex`.pdf; \
 | 
					
						
							|  |  |  | 			true; \
 | 
					
						
							|  |  |  | 		else \
 | 
					
						
							|  |  |  | 			$(MAKE) `echo $$PWD|tr '/' '\n'|tail -1`.pdf && \
 | 
					
						
							|  |  |  | 			$(PDFVIEWER) `echo $$PWD|tr '/' '\n'|tail -1`.pdf; \
 | 
					
						
							|  |  |  | 			true; \
 | 
					
						
							|  |  |  | 		fi; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-07-02 12:52:18 +00:00
										 |  |  | %.ps: %.dvi | 
					
						
							|  |  |  | 	$(DVIPS) -o $@ $< | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | latexps: | 
					
						
							|  |  |  | 	@if [ -n "${LATEXTARGET}" ]; then \
 | 
					
						
							|  |  |  | 		$(MAKE) ${LATEXTARGET}.ps && \
 | 
					
						
							|  |  |  | 		true; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		if [ `ls *.tex | wc -l` = "1" ]; then \
 | 
					
						
							|  |  |  | 			$(MAKE) `basename \`ls *.tex\` .tex`.ps && \
 | 
					
						
							|  |  |  | 			true; \
 | 
					
						
							|  |  |  | 		else \
 | 
					
						
							|  |  |  | 			$(MAKE) `echo $$PWD|tr '/' '\n'|tail -1`.ps && \
 | 
					
						
							|  |  |  | 			true; \
 | 
					
						
							|  |  |  | 		fi; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | html: .html | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .html: | 
					
						
							|  |  |  | 	@if [ -n "${LATEXTARGET}" ]; then \
 | 
					
						
							|  |  |  | 		if [ -n "${HTMLDIR}" ]; then \
 | 
					
						
							|  |  |  | 			$(MAKE) ${LATEXTARGET}.dvi; \
 | 
					
						
							|  |  |  | 			$(LATEX2HTML) $(LATEX2HTML_OPTS) -dir $(HTMLDIR)/$(LATEXTARGET) $(LATEXTARGET) && \
 | 
					
						
							|  |  |  | 			chmod a+rx $(HTMLDIR)/$(LATEXTARGET) && \
 | 
					
						
							|  |  |  | 			chmod a+r $(HTMLDIR)/$(LATEXTARGET)/* &&  \
 | 
					
						
							|  |  |  | 			touch .html; \
 | 
					
						
							|  |  |  | 		else \
 | 
					
						
							|  |  |  | 			echo Set variable HTMLDIR\!; \
 | 
					
						
							|  |  |  | 		fi; \
 | 
					
						
							|  |  |  | 	else \
 | 
					
						
							|  |  |  | 		echo Set variable LATEXTARGET\!; \
 | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | latexhelp: | 
					
						
							|  |  |  | 	@echo "LaTeX Makefile Options" | 
					
						
							|  |  |  | 	@echo "----------------------" | 
					
						
							|  |  |  | 	@echo "" | 
					
						
							|  |  |  | 	@echo "Environment variables:" | 
					
						
							|  |  |  | 	@echo "  LATEXTARGET   Filename to make (without extension)" | 
					
						
							|  |  |  | 	@echo "  HTMLDIR       Directory for HTML-output" | 
					
						
							|  |  |  | 	@echo "  FIGURES       Figures that have to be compiled" | 
					
						
							|  |  |  | 	@echo "" | 
					
						
							|  |  |  | 	@echo "Targets:" | 
					
						
							|  |  |  | 	@echo "  <name>.dvi    Make the given dvi file" | 
					
						
							|  |  |  | 	@echo "  latex         Make the LATEXTARGET or <dirname>.dvi" | 
					
						
							|  |  |  | 	@echo "  pdflatex      Make the LATEXTARGET or <dirname>.pdf" | 
					
						
							|  |  |  | 	@echo "  latexps       Make the LATEXTARGET or <dirname>.ps" | 
					
						
							|  |  |  | 	@echo "  view          Make and view the LATEXTARGET or <dirname>.dvi" | 
					
						
							|  |  |  | 	@echo "  html          Make the LATEXTARGET  or <dirname>.dvi and generate HTML output" | 
					
						
							|  |  |  | 	@echo "  latexhelp     This overview" | 
					
						
							|  |  |  | 	@echo "  latexclean    Remove all generated files" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | latexclean:: | 
					
						
							|  |  |  | 	@rm -f *.log *.aux *.bbl *.blg *.ilg *.toc *.lof *.lot *.idx *.ind .html .btmp .itmp .rerun *~ | 
					
						
							|  |  |  | 	@rm -f thumb[0-9][0-9][0-9].png | 
					
						
							|  |  |  | 	@rm -f thumbdta.tex thumbpdf.pdf | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	@for i in *.eps; do \
 | 
					
						
							|  |  |  | 		if [ -f "`basename $$i .eps`.fig" ]; then \
 | 
					
						
							|  |  |  | 			rm -f $$i; \
 | 
					
						
							|  |  |  | 		elif ( rcs `basename $$i .eps`.fig >& /dev/null ); then \
 | 
					
						
							|  |  |  | 			rm -f $$i; \
 | 
					
						
							|  |  |  | 		fi \
 | 
					
						
							|  |  |  | 	done | 
					
						
							|  |  |  | 	@for i in *.dvi; do \
 | 
					
						
							|  |  |  | 		if [ -f "`basename $$i .dvi`.tex" ]; then \
 | 
					
						
							|  |  |  | 			rm -f $$i; \
 | 
					
						
							|  |  |  | 		fi \
 | 
					
						
							|  |  |  | 	done | 
					
						
							|  |  |  | 	@for i in *.pdf; do \
 | 
					
						
							|  |  |  | 		if [ -f "`basename $$i .pdf`.tex" ]; then \
 | 
					
						
							|  |  |  | 			rm -f $$i; \
 | 
					
						
							|  |  |  | 		fi \
 | 
					
						
							|  |  |  | 	done | 
					
						
							|  |  |  | 
 |