From 44797f7be06e047c2ecd56189c5bb11e7edf854f Mon Sep 17 00:00:00 2001 From: Holger Dengler Date: Thu, 18 Jan 2018 18:02:30 +0100 Subject: build: replace build command Building latex files may require to re-run the build command more than once. The make target rules are normally called once. Make also does not check the dependencies, which are caused by tex statements (like \input{} or \includegraphics{}). Both problems are solved by latexmk. This wrapper scans all dependencies in the .tex file and calls the latex-command until all depending steps are resolved. The call of the build-command is forced in make, because the checking, if a tex-file requires a rebuild is done by latexmk. Signed-off-by: Holger Dengler --- .gitignore | 10 ++-------- Makefile | 3 +-- modules.mk | 12 +++++------- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 0e07b00..a8010fc 100644 --- a/.gitignore +++ b/.gitignore @@ -8,14 +8,8 @@ *.out *.snm *.vrb -*/*/*.pdf -*/*/*.aux -*/*/*.log -*/*/*.nav -*/*/*.toc -*/*/*.out -*/*/*.snm -*/*/*.vrb +*.fls +*.fdb_latexmk *.o *.a kernel-devel/module-basics/vain/.* diff --git a/Makefile b/Makefile index 08c9992..6cfaed7 100644 --- a/Makefile +++ b/Makefile @@ -14,8 +14,7 @@ HANDOUT_FOLDER := handouts HANDOUT :=$(DEPLOY)/$(HANDOUT_FOLDER) CONFIG_FOLDER := configs -BUILD_COMMAND := xelatex -BUILD_COMMAND_BIB := bibtex +BUILD_COMMAND := latexmk -xelatex -bibtex -pdf BUILD_DEBUG := -halt-on-error --interaction=errorstopmode BUILD_ARGS := BUILD := $(BUILD_COMMAND) $(BUILD_DEBUG) $(BUILD_ARGS) diff --git a/modules.mk b/modules.mk index 941598f..5d511e6 100644 --- a/modules.mk +++ b/modules.mk @@ -16,14 +16,10 @@ ifdef CONFIG_BUILD_HANDOUTS done endif -%.pdf: %.tex +.FORCE: +%.pdf: %.tex .FORCE echo "Build" $@ - TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS):`pwd`/distribution/autotools $(BUILD) $(subst .pdf,.tex,$@) -ifneq ($(CONFIG_BUILD_FAST_BUILD),y) - TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS):`pwd`/distribution/autotools $(BUILD_BIB) $(subst .pdf,.aux,$@) - TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS):`pwd`/distribution/autotools $(BUILD) $(subst .pdf,.tex,$@) - TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS):`pwd`/distribution/autotools $(BUILD) $(subst .pdf,.tex,$@) -endif + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS):`pwd`/distribution/autotools $(BUILD) $< # DON'T delete this empty target! Need for incremental build %.tex: @@ -40,6 +36,8 @@ clean_texfiles: rm -f *.blg rm -f *.out rm -f *.vrb + rm -f *.fls + rm -f *.fdb_latexmk build_master_pres: ifneq ($(filter $(PRES_PREFIX)%,$(obj-y)), ) -- cgit v1.2.3