]> gitweb.michael.orlitzky.com - mjotex.git/blobdiff - makefile
Add the \preimage macro.
[mjotex.git] / makefile
index db6de3f740e5891d921fbc6cd5cc76d81c611d9f..331c65cd70c266c3cef55ca9a6ed7278b1a94bee 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,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/