X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=makefile;h=a0b130edc7c686774b989b9eb5695d778d3332c2;hb=72c0b963bfaec8323e6081b17b146b9abf7105d9;hp=6e87253adffbc24d174f1271b984fb2ebc983632;hpb=a30866cb085731037db598fa0affc35ce6c573cb;p=mjotex.git diff --git a/makefile b/makefile index 6e87253..a0b130e 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,29 @@ $(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 *.{aux,bbl,bcf,bib,blg,lof,log,nav,out,pdf,snm,toc,xml} + rm -f *.{aux,bbl,bcf,bib,blg,listing,lof,log,nav,out,pdf,snm,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