|
|
# settings precedence: command line>usercfg.mk>{windows,unix}.mk
|
|
|
|
|
|
# user settings
|
|
|
# include before variable definitions
|
|
|
ifneq ($(wildcard usercfg.mk),)
|
|
|
include usercfg.mk
|
|
|
endif
|
|
|
|
|
|
# platform specific settings
|
|
|
# include before variable definitions
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
include windows.mk
|
|
|
else
|
|
|
include unix.mk
|
|
|
endif
|
|
|
|
|
|
# Ghostscript-based pdf postprocessing
|
|
|
include compress.mk
|
|
|
|
|
|
# Config file
|
|
|
MKRC ?= latexmkrc
|
|
|
|
|
|
# Source .tex file
|
|
|
SOURCE ?= dissertation
|
|
|
|
|
|
# LaTeX compiler output .pdf file
|
|
|
TARGET ?= $(SOURCE)
|
|
|
|
|
|
# LaTeX version:
|
|
|
# -pdf = pdflatex
|
|
|
# -pdfdvi = pdflatex with dvi
|
|
|
# -pdfps = pdflatex with ps
|
|
|
# -pdfxe = xelatex with dvi (faster than -xelatex)
|
|
|
# -xelatex = xelatex without dvi
|
|
|
# -pdflua = lualatex with dvi (faster than -lualatex)
|
|
|
# -lualatex = lualatex without dvi
|
|
|
BACKEND ?= -pdfxe
|
|
|
|
|
|
# Do not modify the section below. Edit usercfg.mk instead.
|
|
|
DRAFTON ?= # 1=on;0=off
|
|
|
SHOWMARKUP ?= # 1=on;0=off
|
|
|
FONTFAMILY ?= # 0=CMU;1=MS fonts;2=Liberation fonts
|
|
|
ALTFONT ?= # 0=Computer Modern;1=pscyr;2=XCharter
|
|
|
USEBIBER ?= # 0=bibtex8;1=biber
|
|
|
USEFOOTCITE ?= # 0=no;1=yes
|
|
|
BIBGROUPED ?= # 0=no;1=yes
|
|
|
IMGCOMPILE ?= # 1=on;0=off
|
|
|
NOTESON ?= # 0=off;1=on, separate slide;2=on, same slide
|
|
|
LATEXFLAGS ?= -halt-on-error -file-line-error
|
|
|
LATEXMKFLAGS ?= -silent
|
|
|
BIBERFLAGS ?= # --fixinits
|
|
|
REGEXDIRS ?= . Dissertation Synopsis Presentation # distclean dirs
|
|
|
TIMERON ?= # show CPU usage
|
|
|
TIKZFILE ?= # .tikz file for tikz rule
|
|
|
USEDEV ?= # use development version
|
|
|
|
|
|
# Makefile options
|
|
|
MAKEFLAGS := -s
|
|
|
.DEFAULT_GOAL := all
|
|
|
.NOTPARALLEL:
|
|
|
|
|
|
export DRAFTON
|
|
|
export SHOWMARKUP
|
|
|
export FONTFAMILY
|
|
|
export ALTFONT
|
|
|
export USEBIBER
|
|
|
export USEFOOTCITE
|
|
|
export BIBGROUPED
|
|
|
export IMGCOMPILE
|
|
|
export NOTESON
|
|
|
export LATEXFLAGS
|
|
|
export BIBERFLAGS
|
|
|
export REGEXDIRS
|
|
|
export TIMERON
|
|
|
export TIKZFILE
|
|
|
export USEDEV
|
|
|
|
|
|
##! компиляция всех файлов
|
|
|
all: synopsis dissertation presentation
|
|
|
|
|
|
define compile
|
|
|
latexmk -norc -r $(MKRC) $(LATEXMKFLAGS) $(BACKEND) -jobname=$(TARGET) $(SOURCE)
|
|
|
endef
|
|
|
|
|
|
##! компиляция диссертации
|
|
|
dissertation: TARGET=dissertation
|
|
|
dissertation: SOURCE=dissertation
|
|
|
dissertation:
|
|
|
$(compile)
|
|
|
|
|
|
##! компиляция автореферата
|
|
|
synopsis: TARGET=synopsis
|
|
|
synopsis: SOURCE=synopsis
|
|
|
synopsis:
|
|
|
$(compile)
|
|
|
|
|
|
##! компиляция презентации
|
|
|
presentation: TARGET=presentation
|
|
|
presentation: SOURCE=presentation
|
|
|
presentation:
|
|
|
$(compile)
|
|
|
|
|
|
##! компиляция черновика диссертации
|
|
|
dissertation-draft: DRAFTON=1
|
|
|
dissertation-draft: dissertation
|
|
|
|
|
|
##! компиляция черновика автореферата
|
|
|
synopsis-draft: DRAFTON=1
|
|
|
synopsis-draft: synopsis
|
|
|
|
|
|
##! компиляция диссертации, автореферата, и презентации при помощи pdflatex
|
|
|
pdflatex: BACKEND=-pdf
|
|
|
pdflatex: dissertation synopsis presentation
|
|
|
|
|
|
##! компиляция черновиков всех файлов
|
|
|
draft: dissertation-draft synopsis-draft
|
|
|
|
|
|
##! компиляция автореферата в формате А4 для печати
|
|
|
synopsis-booklet: synopsis
|
|
|
synopsis-booklet: SOURCE=synopsis_booklet
|
|
|
synopsis-booklet: TARGET=synopsis_booklet
|
|
|
synopsis-booklet:
|
|
|
$(compile)
|
|
|
|
|
|
##! компиляция презентации в формате А4 для печати
|
|
|
presentation-booklet: presentation
|
|
|
presentation-booklet: SOURCE=presentation_booklet
|
|
|
presentation-booklet: TARGET=presentation_booklet
|
|
|
presentation-booklet:
|
|
|
$(compile)
|
|
|
|
|
|
##! компиляция презентации в формате А4 с комментариями для совета (раздаточный материал)
|
|
|
presentation-handout: presentation
|
|
|
presentation-handout: SOURCE=presentation_handout
|
|
|
presentation-handout: TARGET=presentation_handout
|
|
|
presentation-handout:
|
|
|
$(compile)
|
|
|
|
|
|
##! компиляция tikz графики
|
|
|
tikz: SOURCE=tikz
|
|
|
tikz: BACKEND=-pdflua # некоторые библиотеки работают только с lualatex
|
|
|
tikz: TARGET=$(basename $(notdir $(TIKZFILE)))
|
|
|
tikz:
|
|
|
$(compile)
|
|
|
|
|
|
##! добавление .pdf автореферата и диссертации в систему контроля версий
|
|
|
release: all
|
|
|
git add dissertation.pdf
|
|
|
git add synopsis.pdf
|
|
|
|
|
|
##! очистка от временных файлов цели TARGET
|
|
|
clean-target:
|
|
|
latexmk -norc -r $(MKRC) -f $(LATEXMKFLAGS) $(BACKEND) -jobname=$(TARGET) -c $(SOURCE)
|
|
|
|
|
|
##! полная очистка от временных файлов цели TARGET
|
|
|
distclean-target:
|
|
|
latexmk -norc -r $(MKRC) -f $(LATEXMKFLAGS) $(BACKEND) -jobname=$(TARGET) -C $(SOURCE)
|
|
|
|
|
|
##! очистка проекта от временных файлов
|
|
|
clean:
|
|
|
"$(MAKE)" SOURCE=dissertation TARGET=dissertation clean-target
|
|
|
"$(MAKE)" SOURCE=synopsis TARGET=synopsis clean-target
|
|
|
"$(MAKE)" SOURCE=presentation TARGET=presentation clean-target
|
|
|
|
|
|
##! полная очистка проекта от временных файлов
|
|
|
distclean:
|
|
|
"$(MAKE)" SOURCE=dissertation TARGET=dissertation distclean-target
|
|
|
"$(MAKE)" SOURCE=synopsis TARGET=synopsis distclean-target
|
|
|
"$(MAKE)" SOURCE=presentation TARGET=presentation distclean-target
|
|
|
|
|
|
# include after "all" rule
|
|
|
include examples.mk
|
|
|
|
|
|
.PHONY: all dissertation synopsis presentation dissertation-draft \
|
|
|
synopsis-draft pdflatex draft synopsis-booklet presentation-booklet\
|
|
|
tikz release clean-target distclean-target clean distclean
|