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.
# 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.
# 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