all: package doc package: $(DTX.sty) $(DTX.cls) doc: $(DTX.pdf) $(EXAMPLE.pdf) $(DTX.sty) $(DTX.cls): $(INS) $(DTX) $(PDFLATEX) $(INS) $(EXAMPLE.pdf): %.pdf: %.tex $(DTX.sty) $(DTX.cls) $(EXAMPLE.deps) $(PDFLATEX) $(firstword $<) @if (grep 'Please (re)run Biber' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then biber $(patsubst %.dtx, %, $(firstword $<));fi @if (grep 'Please (re)run BibTeX' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then bibtex $(patsubst %.dtx, %, $(firstword $<));fi @if (grep "Writing index file" $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then makeindex\ -o $(patsubst %.dtx, %.ind, $(firstword $<))\ $(patsubst %.dtx, %.idx, $(firstword $<)); fi @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then $(PDFLATEX) $(firstword $<); fi @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then $(PDFLATEX) $(firstword $<); fi %.ind: touch $@ $(DTX.pdf): %.pdf: %.dtx $(DTX.sty) $(DTX.cls) $(PDFLATEX) $(firstword $<) @if (grep 'Please (re)run Biber' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then biber $(patsubst %.dtx, %, $(firstword $<));fi @if (grep "Writing glossary file" $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then makeindex\ -o $(patsubst %.dtx, %.gls, $(firstword $<))\ $(patsubst %.dtx, %.glo, $(firstword $<)); fi @if (grep "Writing index file" $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then makeindex\ -o $(patsubst %.dtx, %.ind, $(firstword $<))\ $(patsubst %.dtx, %.idx, $(firstword $<)); fi @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then $(PDFLATEX) $(firstword $<); fi @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\ then $(PDFLATEX) $(firstword $<); fi clean: rm -f *~ *.log *.ilg *.out *.glo *.idx *.ilg *.blg distclean: clean rm -f *.aux *.ind *.gls *.ps *.dvi *.toc *.thm rm -Rf auto filedate: @for d in $(DTX); do \ $(FILEDATEPROG) $$d ; \ done checksum: @for d in $(DTX); do \ $(CHECKSUMPROG) $$d --update ; \ done enablechecksum: @for d in $(DTX); do \ $(CHECKSUMPROG) $$d --enable ; \ done disablechecksum: @for d in $(DTX); do \ $(CHECKSUMPROG) $$d --disable ; \ done # copy stuff around for making the TeX Directory Structure ltds: rm -Rf $(TDSDIR.doc);mkdir -p $(TDSDIR.doc) rm -Rf $(TDSDIR.tex);mkdir -p $(TDSDIR.tex) rm -Rf $(TDSDIR.src);mkdir -p $(TDSDIR.src) cp $(DTX.src) $(TDS.src) $(TDSDIR.src) cp $(DTX.sty) $(DTX.cls) $(TDS.tex) $(TDSDIR.tex) cp README $(DTX.pdf) $(EXAMPLE.tex) $(EXAMPLE.pdf) $(TDS.doc) $(TDSDIR.doc) @for d in $(TDS.exdirs); do cp -R $$d $(TDSDIR.doc); done lctan: mkdir -p $(CTANDIR) cp $(DTX.src) $(DTX.sty) $(DTX.cls) $(TDS.src) $(TDS.tex) $(CTANDIR) cp README $(DTX.pdf) $(EXAMPLE.tex) $(EXAMPLE.pdf) $(TDS.doc) $(CTANDIR) @for d in $(TDS.exdirs); do cp -R $$d $(CTANDIR); done # sometimes (when bibLaTeX changes) we have to rerun biber; use make -B biber biber: pdflatex $(DTX.base:%=%.dtx) biber $(DTX.base)