61 lines
2 KiB
Makefile
61 lines
2 KiB
Makefile
|
NAMES = Beschreibung_des_Vorhabens
|
||
|
NAMES_PDF = $(NAMES:=.pdf)
|
||
|
AUX_TEX = pub_list.tex
|
||
|
AUX_PDF = Arbeitsplatzzusage.pdf
|
||
|
OTHERS = pub_list.tex
|
||
|
TEX = pdflatex
|
||
|
BIBTEX = bibtex
|
||
|
VPATH = figures
|
||
|
OUTDIR = tmp
|
||
|
RELREF = bibliography
|
||
|
ARGS = -interaction=nonstopmode -output-directory $(OUTDIR)
|
||
|
RMSUF = .aux .out .upa .upb .pax .log .blg Notes.bib .pdfsync .synctex.gz .bcf .run.xml -blx.bib # all un-needed extensions
|
||
|
RMFILES = texput.log bibtex.log $(OUTDIR)/bibtex.log # files that can be "cleaned"
|
||
|
CWD = $(CURDIR)
|
||
|
# can be more than one BBL file
|
||
|
BBL = $(foreach N,$(NAMES),$(OUTDIR)/$N.bbl)
|
||
|
|
||
|
#
|
||
|
# get full path to bibliography
|
||
|
#
|
||
|
REF = $(realpath $(RELREF))
|
||
|
|
||
|
all: others $(NAMES_PDF)
|
||
|
|
||
|
others: $(OTHERS)
|
||
|
|
||
|
pub_list.tex: get_publist_from_bibcodes.py
|
||
|
./get_publist_from_bibcodes.py
|
||
|
|
||
|
# create the bbl file
|
||
|
%.bbl: $(REF)
|
||
|
$(TEX) $(ARGS) $(basename $(notdir $@)).tex &> /dev/null
|
||
|
$(BIBTEX) $(basename $@) &> $(OUTDIR)/bibtex.log
|
||
|
-cp $(notdir $@) $@
|
||
|
|
||
|
# create the main file: depends on bbl and AUXFILES
|
||
|
$(NAMES_PDF) : %.pdf: $(AUX_PDF) $(AUX_TEX) %.tex $(OUTDIR)/%.bbl
|
||
|
while ($(TEX) $(ARGS) $(@:.pdf=.tex) &> /dev/null ; \
|
||
|
grep -q "Rerun to get" $(OUTDIR)/$(@:.pdf=.log) ) do true ; \
|
||
|
done
|
||
|
mv $(OUTDIR)/$@ .
|
||
|
|
||
|
# generic pdf rule
|
||
|
%.pdf: %.tex
|
||
|
while ($(TEX) $(ARGS) $< &> /dev/null ; \
|
||
|
grep -q "Rerun to get" $(OUTDIR)/$(@:.pdf=.log) ) do true ; \
|
||
|
done
|
||
|
mv $(OUTDIR)/$@ .
|
||
|
|
||
|
clean:
|
||
|
-rm -rf $(foreach n,$(NAMES),$(foreach s,$(RMSUF),$(OUTDIR)/$n$s)) &> /dev/null
|
||
|
-rm -rf $(foreach n,$(NAMES),$(foreach s,$(RMSUF),$n$s)) &> /dev/null
|
||
|
-rm -rf $(foreach s,$(RMSUF),$(foreach f,$(AUX_PDF:.pdf=),$(OUTDIR)/$f$s)) &> /dev/null
|
||
|
-rm -rf $(foreach s,$(RMSUF),$(foreach f,$(basename $(OTHERS)),$(OUTDIR)/$f$s)) &> /dev/null
|
||
|
-rm -rf $(foreach s,$(RMFILES),$s) &> /dev/null
|
||
|
-rm -rf $(foreach s,$(BBL),$(s:bbl=aux)) &> /dev/null
|
||
|
-rm -rf $(foreach s,$(BBL),$(s:bbl=blg)) &> /dev/null
|
||
|
|
||
|
clobber: clean
|
||
|
rm -rf $(AUX_PDF) $(NAMES_PDF) $(BBL) $(OTHERS) &> /dev/null
|