#======================================================================= # Makefile for generating LaTeX documents #----------------------------------------------------------------------- # # This is a simple makefile for generating LaTeX documents. It will # run bibtex, generate eps from xfig figures, and make pdfs. The # makefile supports builds in non-source directories: just make a # build directory, copy the makefile there, and change the srcdir # variable accordingly. # # Note that the makefile assumes that the default dvips/ps2pdfwr # commands "do the right thing" for fonts in pdfs. This is true on # Athena/Linux and Fedora Core but is not true for older redhat installs ... # # At a minimum you should just change the main variable to be # the basename of your toplevel tex file. If you use a bibliography # then you should set the bibfile variable to be the name of your # .bib file (assumed to be in the source directory). # # Targets: # (none) makes PDFs in output/ # clean removed everything except PDFs in output/ # clean-all removed everything in output/ # Directories relative to the top level: outdir = output srcdir = src # Relative to output: relsrcdir = ../$(srcdir) docs_with_bib = power-spec docs_without_bib = srcs = $(wildcard $(srcdir)/*.tex) figs = $(wildcard $(srcdir)/figs/*) bibs = $(srcdir)/power-spec.bib #======================================================================= # You shouldn't need to change anything below this #======================================================================= PDFLATEX := TEXINPUTS=$(relsrcdir): pdflatex -interaction=nonstopmode -halt-on-error BIBTEX := BIBINPUTS=$(relsrcdir): bibtex default : $(outdir) pdf #------------------------------------------------------------ # PDF pdfs_with_bib = $(addsuffix .pdf, $(docs_with_bib)) pdfs_without_bib = $(addsuffix .pdf, $(docs_without_bib)) pdfs = $(pdfs_with_bib) $(pdfs_without_bib) pdf : $(pdfs) .PHONY: pdf open $(outdir): mkdir $@ open: $(pdfs) open $(pdfs) $(pdfs_with_bib): %.pdf: $(srcdir)/%.tex $(srcs) $(figs) $(bibs) cd $(outdir); $(PDFLATEX) $* cd $(outdir); $(BIBTEX) $* cd $(outdir); $(PDFLATEX) $* cd $(outdir); $(PDFLATEX) $* $(pdfs_without_bib): %.pdf: $(srcdir)/%.tex $(srcs) $(figs) cd $(outdir); $(PDFLATEX) $* cd $(outdir); $(PDFLATEX) $* junk += *.aux *.log *.bbl *.blg *.toc *.out #------------------------------------------------------------ # Other Targets clean : rm -rf $(addprefix $(outdir)/, $(junk)) clean-all: clean rm -rf $(addprefix $(outdir)/, $(pdfs))