]> gitweb.michael.orlitzky.com - mjotex.git/blobdiff - makefile
Add *.spl to the "make clean" list.
[mjotex.git] / makefile
index 6e87253adffbc24d174f1271b984fb2ebc983632..eabe908839945305a694fe7552ebbb25fb9ed5dc 100644 (file)
--- 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 *.{aux,bbl,bcf,bib,blg,lof,log,nav,out,pdf,snm,toc,xml}
+       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