X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=makefile;h=331c65cd70c266c3cef55ca9a6ed7278b1a94bee;hb=refs%2Ftags%2FposZ-submitted-laa;hp=db6de3f740e5891d921fbc6cd5cc76d81c611d9f;hpb=dc8ae67f7272ec9dcf0712f71520f1ea98707691;p=mjotex.git diff --git a/makefile b/makefile index db6de3f..331c65c 100644 --- a/makefile +++ b/makefile @@ -6,11 +6,14 @@ LATEX = pdflatex -file-line-error -halt-on-error # The name of this document. -PN := paper +PN = examples # A space-separated list of bib files. These must all belong to paths # contained in your $BIBINPUTS environment variable. -BIBS = references.bib +# +# Leave commented if you don't use a bibliography file. +# +#BIBS = references.bib # A space-separated list of the mjotex files that you use. The path to # mjotex must be contain in your $TEXINPUTS environment variable. @@ -22,7 +25,15 @@ MJOTEX += mjo-theorem-star.tex mjo-topology.tex # Use kpsewhich (from the kpathsea suite) to find the absolute paths # of the bibtex/mjotex files listed in in $(BIBS)/$(MJOTEX). The SRCS # variable should contain all (Bib)TeX source files for the document. -SRCS = $(PN).tex $(shell kpsewhich $(BIBS)) $(shell kpsewhich $(MJOTEX)) +SRCS = $(PN).tex +ifdef BIBS +BIBPATHS = $(shell kpsewhich $(BIBS)) +SRCS += $(BIBPATHS) +endif +ifdef MJOTEX +MJOTEXPATHS = $(shell kpsewhich $(MJOTEX)) +SRCS += $(MJOTEXPATHS) +endif # The first target is the default, so put the PDF document first. @@ -95,18 +106,30 @@ $(PN).aux: $(SRCS) # As a side effect, we now need to depend on $(SRCS) here, since we # won't pick it up transitively from $(PN).aux. # +# If the $BIBS variable is undefined, we presume that there are no +# references and create an empty bbl file. Otherwise, we risk trying +# to run biblatex on an aux file containing no citations. +# $(PN).bbl: $(SRCS) | $(PN).aux +ifdef BIBS bibtex $(PN).aux +else + echo -n '' > $@ +endif +# Run chktex to find silly mistakes. There is some exit code weirdness +# (Savannah bug 45979), so we just look for empty output. +.PHONY: check +check: + @[ -z "$(shell chktex --quiet mjotex.sty)" ] # Clean up leftover junk. .PHONY: clean clean: - rm -f *.{out,nav,snm,toc,aux,log,pdf,bcf,xml,bbl,blg,bib} + rm -f *.{aux,bbl,bcf,bib,blg,listing,lof,log} + rm -f *.{nav,out,pdf,snm,spl,toc,xml} rm -rf dist/ - - # If this document will be published, the publisher isn't going to # have your BibTeX database or your mjotex files. So, you need to # package them up along with the code for your document. This target @@ -115,4 +138,4 @@ clean: .PHONY: dist dist: $(PN).bbl mkdir -p dist - cp $(SRCS) $(PN).bbl dist/ + cp $(SRCS) $(PN).bbl $(BIBPATHS) $(MJOTEXPATHS) dist/