87 lines
2.6 KiB
Makefile
87 lines
2.6 KiB
Makefile
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
# %% Descr: Vorlage fuer Berichte der DHBW-Karlsruhe, Makefile
|
|
# %% Author: Prof. Dr. Juergen Vollmer, vollmer@dhbw-karlsruhe.de
|
|
# %% $Id: Makefile,v 1.22 2020/03/13 15:10:57 vollmer Exp $
|
|
# %% -*- coding: utf-8 -*-
|
|
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
# Dateiname der Haupt-Datei
|
|
BASE = bericht
|
|
FMT = $(BASE).fmt
|
|
|
|
LATEX = pdflatex -file-line-error
|
|
BIBTEX = bibtex
|
|
MAKEINDEX = makeindex -s $(BASE).ist
|
|
|
|
# Wo werden die diversen Dateien gesucht:
|
|
# Ein // am Ende bedeutet: in allen Unterverzeichnissen
|
|
# BIBTEX-Style Files (*.bst)
|
|
export BSTINPUTS := .//:$(BSTINPUTS)
|
|
|
|
# BIBTEX Datenbank(en) (*.bib)
|
|
export BIBINPUTS := .//:$(BIBINPUTS)
|
|
|
|
# LaTeX Styles und Klassen (*.sty, *.cls)
|
|
export TEXINPUTS := .//:$(TEXINPUTS)
|
|
|
|
all: $(BASE).pdf
|
|
|
|
$(BASE).pdf: *.tex *.bib Makefile.
|
|
$(MAKE) clean
|
|
$(LATEX) $(BASE).tex
|
|
- grep -q "Warning: Citation " $*.log && $(BIBTEX) $(BASE)
|
|
- [ -f $(BASE).idx ] && $(MAKEINDEX) $(BASE)
|
|
$(LATEX) $(BASE).tex
|
|
- grep -q "Warning: Citation " $*.log && $(BIBTEX) $(BASE)
|
|
- [ -f $(BASE).idx ] && $(MAKEINDEX) $(BASE)
|
|
$(BIBTEX) $(BASE)
|
|
$(LATEX) $(BASE).tex
|
|
|
|
pdf:
|
|
$(LATEX) $(BASE)
|
|
|
|
index:
|
|
$(MAKEINDEX) $(BASE)
|
|
|
|
bib:
|
|
$(BIBTEX) $(BASE)
|
|
|
|
# fmt: --> https://tex.stackexchange.com/questions/79493/ultrafast-pdflatex-with-precompiling
|
|
# --> https://ctan.org/pkg/mylatexformat
|
|
fmt: $(FMT)
|
|
%.fmt:%.tex $(BASE).sty $(BASE).tex
|
|
- pdflatex -ini -jobname=$* "&pdflatex" mylatexformat.ltx $*.tex
|
|
|
|
# Nur Fehlermeldungen ausgeben
|
|
check: $(BASE).pdf
|
|
@echo; echo "*******************************"; echo; echo;
|
|
$(LATEX) -interaction=nonstopmode $(BASE).tex 2>&1 | egrep "LaTeX Warning"; \
|
|
if [ $$? -ne 0 ]; then exit 0; else exit 1; fi
|
|
|
|
# Die Datei "Makefile." muss unter Linux existieren, da ProTexT (Windows)
|
|
# einen Bug hat, der verhindert, dass eine Datei ohne einen Punkt mittels
|
|
# des listings-Paketets inkludiert werden kann. (Siehe "kapitel2.tex")
|
|
Makefile. : Makefile
|
|
ln -s Makefile Makefile.
|
|
|
|
# Hilfsdateien loeschen
|
|
clean:
|
|
rm -f *.toc *.dvi *.aux *.log *.blg *.bbl *.out *.for \
|
|
*.lof *.lol *.lot *.bcf *.run.xml *-blx.bib *.idx \
|
|
*.ind *.ilg *.blg *.tdo \
|
|
*~
|
|
|
|
# Wirklich alles loeschen
|
|
realclean: clean
|
|
rm -f $(BASE).pdf $(BASE).fmt
|
|
|
|
# Erstelle tar-Archiv des ganzen Verzeichnisses
|
|
tar: $(BASE).pdf
|
|
$(MAKE) clean
|
|
D=`pwd`; D=`basename $$D`; \
|
|
cd ..; \
|
|
tar --exclude "*.tar.gz" --exclude RCS \
|
|
--exclude Pakete --exclude "*.fmt" \
|
|
--dereference \
|
|
-czvf $$D/latex-vorlage-`date "+%Y-%m-%d"`.tar.gz $$D
|