I use the application called "rubber", but before I found that application, I used the following Makefile. Use rubber, though. It's much nicer. #!/usr/bin/make -f # # Makefile for LaTeX documents # ################################################################################ texfiles = $(wildcard *.tex) pdffiles = $(patsubst %.tex,%.pdf,$(texfiles)) psfiles = $(patsubst %.dvi,%.ps,$(dvifiles)) dvifiles = $(patsubst %.tex,%.dvi,$(texfiles)) all: $(dvifiles) $(pdffiles) $(psfiles) dvi: $(dvifiles) ps: $(psfiles) pdf: $(pdffiles) %.dvi: %.tex latex $< latex $< latex $< %.pdf: %.tex %.dvi pdflatex $< %.ps: %.dvi dvips $< clean: -rm *.log *.dvi *.aux *.toc *.lol *.out distclean: clean -rm *.pdf *.ps .PHONY: all clean dvi ps pdf distclean # Do dependencies here...