X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;ds=sidebyside;f=makefile;h=eabe908839945305a694fe7552ebbb25fb9ed5dc;hb=59e4fa4c0281befce512b366f66e0e92c1740e29;hp=db6de3f740e5891d921fbc6cd5cc76d81c611d9f;hpb=dc8ae67f7272ec9dcf0712f71520f1ea98707691;p=mjotex.git diff --git a/makefile b/makefile index db6de3f..eabe908 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,13 @@ 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 +SRCS += $(shell kpsewhich $(BIBS)) +endif +ifdef MJOTEX +SRCS += $(shell kpsewhich $(MJOTEX)) +endif # The first target is the default, so put the PDF document first. @@ -95,18 +104,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