Merge pull request #398 from hendricius/improve_makefile

Improve makefile
This commit is contained in:
cedounet
2024-12-26 20:53:15 +00:00
committed by GitHub
4 changed files with 625 additions and 42 deletions

View File

@@ -19,7 +19,7 @@
}
\input{intro/preface}
\input{intro/acknowledgements}
\input{intro/acknowledgments}
\mainmatter

View File

@@ -1,5 +1,5 @@
\chapter{Acknowledgements}%
\label{ch:Acknowledgements}
\chapter{Acknowledgments}%
\label{ch:Acknowledgments}
This book would not have been possible without your help.
With all your donations I~have been able to focus on finishing
this book. Your continuous support allows me to focus

View File

@@ -10,6 +10,8 @@ REDUCE_PIC := -resize '800x800>' \
-strip -interlace Plane -gaussian-blur 0.05 -quality 85\% \
-set colorspace Gray -separate -evaluate-sequence Mean
RSYNC := rsync -au --exclude 'book.epub' --exclude '*.jpg' --exclude '*.png'
GIT := git --no-pager
SPELL_CHECK := hunspell -t -l -d en_US
# We want bash as shell
SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -131,54 +133,54 @@ help:
@echo ""
@echo "default: builds the book in pdf format (serif)"
@echo ""
@echo "all: pdf serif and sans-serif accessible version, as well as ebooks"
@echo " in colour and black&white versions"
@echo "Releases:"
@echo " all: pdf serif and sans-serif accessible version, ebooks in colours"
@echo " and black&white versions and the website"
@echo ""
@echo "bake: same as build all"
@echo " bake: same as build all"
@echo ""
@echo "check: runs static analysis checker on LaTeX source to spot"
@echo " programming or typographic mistakes"
@echo " release_serif: build serif only version of pdf and ebook"
@echo " release_sans_serif: build sans-serif/accessible version of pdf"
@echo ""
@echo "clean: delete all intermediate files keep targets (pdf/ebooks/website)"
@echo "Portable Document Format (pdf):"
@echo " build_sans_serif_pdf: build accessible pdf only (same as release_sans_serif)"
@echo " build_serif_pdf: build serif pdf only"
@echo " build_pdf: builds both serif and accessible pdf"
@echo ""
@echo "mrproper: delete all generated files intermediate and pdf/ebooks/website"
@echo "Ebooks (epub):"
@echo " build_ebook: builds only the colour ebook"
@echo " build_bw_ebook: builds the low res black & white ebook"
@echo ""
@echo "Website:"
@echo " website: build the static website from LaTeX sources and post-process it"
@echo " html: build the static website from LaTeX sources _without_ post-processing"
@echo ""
@echo "Cleanup:"
@echo " mrproper: delete all generated files intermediate and pdf/ebooks/website"
@echo " clean: delete all intermediate files keep targets (pdf/ebooks/website)"
@echo " clean_figures: delete intermediate TikZ files"
@echo " clean_website_build: delete intermediate website files"
@echo " clean_ebook_build: delete intermediate ebook files"
@echo ""
@echo "build_pdf: builds both serif and accessible pdf"
@echo ""
@echo "build_ebook: builds only the colour ebook"
@echo ""
@echo "build_booklet: builds only the short booklet"
@echo ""
@echo "build_bw_ebook: builds the low res black & white ebook"
@echo ""
@echo "build_sans_serif_pdf: build accessible pdf only"
@echo ""
@echo "build_serif_pdf: build serif pdf only"
@echo ""
@echo "figures: build TikZ figures"
@echo ""
@echo "release_serif: build serif only version of pdf and ebooks"
@echo "release_sans_serif: build sans-serif/accessible version of pdf"
@echo ""
@echo "website: build the static website from LaTeX sources and post-process it"
@echo "html: build the static website from LaTeX sources _without_ post-processing"
@echo ""
@echo "Debug targets:"
@echo ""
@echo "quick: compiles serif_pdf but runs lulatex only once"
@echo "figures: build TikZ figures only"
@echo ""
@echo "quick_ebook: compiles ebook but runs lulatex only once"
@echo "Quick builds:"
@echo " quick: compiles serif_pdf but runs lulatex only once"
@echo " quick_ebook: compiles ebook but runs lulatex only once"
@echo " quick_booklet: compiles booklet but runs lulatex only once"
@echo ""
@echo "quick_booklet: compiles booklet but runs lulatex only once"
@echo "Checks:"
@echo " tex-check: runs static analysis checker on LaTeX source to spot"
@echo " programming or typographic mistakes"
@echo " spell-check: runs a spell checker"
@echo " check: runs both checkers"
@echo ""
@echo "show_tools_version: Show version of tools used on the build machine"
@echo ""
@echo "print-X: print makefile variable X"
@echo ""
@echo "printvars: print all variables in the makefile"
@echo "Dump informations:"
@echo " show_tools_version: Show version of tools used on the build machine"
@echo " printvars: print all variables in the makefile"
@echo " print-X: print makefile variable X"
@echo ""
@echo "set DEBUG i.e make DEBUG=1 build_ebook to add debug flags to commands"
@@ -198,20 +200,27 @@ build_ebook: epub/book.epub
build_bw_ebook: epub/bw_book.epub
.PHONY: export_figures check
.PHONY: export_figures check tex-check spell-check
# Requires that you have docker running on your computer.
export_figures: build_pdf $(tgt_figures)
cd figures/ && bash export_figures.sh
# Goal is not really to have 0 warning reported but we should check we don't
# add many and if we do, we know they are false positive
check: $(SRC_TEX)
check: spell-check tex-check
tex-check: $(src_tex)
@echo "Running: " $(CHECK_1)
$(CHECK_1) book.tex
@echo ""
@echo "Running: " $(CHECK_2)
$(CHECK_2) book.tex
spell-check: $(src_tex) spelling_exceptions.txt
# Generate exceptions this way to avoid false positives
# hunspell -t -l -d en_US **/*.tex *.csv *.sty *.sty | cut -f 2 -d ':' | sort -u > spelling_exceptions.txt
$(SPELL_CHECK) -p spelling_exceptions.txt $(src_tex)
# Clean up and delete generated files
.PHONY: clean_figures clean_ebook_build clean_website_build clean mrproper
@@ -312,7 +321,7 @@ quick_ebook: cover/cover-page.xbb # run latex only once no biber, ref etc...
$(EBOOK) --mode draft book.tex
show_tools_version: # Show version of tools used on the build machine
- git log -n 1
- $(GIT) log -1 --pretty=%B
@echo ""
- uname -a
@echo ""
@@ -333,7 +342,7 @@ show_tools_version: # Show version of tools used on the build machine
@echo ""
- dvisvgm --version
@echo ""
- lacheck --version
- lacheck | head -5 | tail -1
@echo ""
- chktex --version
@echo ""

View File

@@ -0,0 +1,574 @@
0cm
0pt
100x
10x
1940s
1cm
1em
1in
1mm
1pt
2O
2cm
2mm
2pt
3cm
3em
3mm
3pt
4cm
4em
4mm
4pt
5cm
5em
6cm
7cm
7em
8cm
Abu
Acad
Alanblue
Alveograph
Amaia
Amanor
Amylases
Andail
Andale
Andreas
Andrieu
Andrzej
Anonnn
Antonie
Archaeobotanical
Arranz
Aryal
Aurore
Autolyse
BTSkete
BUtn4HKAiBs
Bangzhu
Banneton
Bassinage
Battista
Berghoff
BigWullie
Biopreservation
Bleve
Blixikan
Blusie
Bouguetaïa
Brigitta
Broa
Brockman
Brühstück
Buehler
Buksa
Böcker
CO2
Cagno
Capusoni
Capyboppy
Catzeddu
Charliefleurene
Chia
Chrillesen
Christiane
Chrysanna
Coeliac
Compostional
Cédric
DIY
DKitSeattle
Danieel
Danois
DeclareDocumentCommand
DeclareNewTOC
DeclareRobustCommand
DeclareSIUnit
DeclareTOCStyleEntry
Dekkera
Delwen
Diastatic
Dichev
Drey
DuBosq
Duivelsjong
Dybedahl
Eicher
Elsevier
Emerg
Ethanoic
FEMS
Fazio
Fermentolyse
Fermentolysis
Fleischmann
Fleischmann's
Flipp
FontFace
François
Fredrik
Fructilactobacillus
Gambu
Gasbarrini
Gelatinization
Geoff
Gianluca
Glutenins
Gobbetti
Gognies
Goldstein
Gottfried
Gruyère
Guidone
Gáliková
HCode
Halina
Hansandremanfredsson
Hendrik
Heterofermentative
Hiroshi
Hito
Holmer
Homofermentative
Horsford
IfUsePrefixLine
IfWideLayout
Ifthispageodd
Ilsefa
Inma
Integrale
Jc
Jessicat
Jimjo
JorisBelmans
Jure
Jz
KAO
KOMA
Kankiti
Kao
Karomizu
Keary
Kirill
KitchenAid
Kleinw
Kleinwächter
Knödel
Kochstück
Koga
Kongraksawech
Kotz
Krawontka
Krzysztof
Kuchengnom
Kuriyama
Labelling
Lausuch
Lecloux
Leeuwen
Leucosporidium
Leung
Levain
Lievito
Lightowler
Lili1232000
Lise
Lizabeth
Lucke
Lukasz
Madjedbebe
Maillard
Maktabdar
Marianito
Marijke
Maryam
MatchLowercase
Matsumoto
Mattson
Mckenney
Mcleish
Meghann
Mello
Mercier
Michaela
Microbiol
Mieke
Mitelski
Moj
Monicaks
MqH3GVfjfBc
NONINFRINGEMENT
Napoli
Nic
Nirpf
Nowak
Nowosiadly
Nowotna
Oest
Otaegui
Overfermented
Paaskus
Pagella
Palatino
Pangea
Parmigiano
Pentosans
Pieter
Piskur
Pitdepitis
Poudel
Praznik
Pre
Preshape
Preshaping
Proteolytic
ProvidesPackage
Pui
Qingfa
Rachana
Rafa
Raffaella
Raptorrich
RedeclareSectionCommand
Rizthebread
Roccato
Roijalbaker
Rori
Saccharomyces
Sagar
Schmid
Schmitz
Sebastianklocke
Semibold
Semmeln
Shar
Shelleymierle
Sherik
Shi
Sivy
Smedt
Smirnov
Sourdoughhome
Spelt
Spicher
Stollen
Strambinha
Sune
T00
T1050
T110
T150
T405
T45
T55
T550
T80
T812
TODO
Tangzhong
Tbonewilly
Teepakorn
Teff
Therealbruce
Toph
Underfermented
Usliv
Valadez
Valdaora
Vassil
Vitis
Voicu
Vollkorn
Wikander
Wittenboer
Yudane
Zhou
Ziobro
Zoltan
a4paper
achter
addbibresource
addon
afterskip
aliquot's
alveogram
alveograph
amylases
arabinoxylan
archae
archaea
archaeon
autodot
autolyse
autolysing
backend
banneton
bannetons
bassinage
batard
beforeskip
bfseries
biber
biblatex
biga
bigskip
biocontrol
blindtext
booktabs
breadmaking
breadrolls
breaklinks
bruxellensis
c8GId0ByASo
caco
cagno
calc
captionsetup
caramelise
carbonarius
cerevisiae
chapappifchapterprefix
chapteratlist
chapterformat
chapterlinesformat
chapterstylebar
chapterstylekao
chapterstylelines
chapterstyleplain
chemfig
chemformula
citecolor
codeblack
codeblue
coeliac
colour
countertop
crum
defaultfontfeatures
degF
dependant
diastatic
dimexpr
discard2
doi
eg
egypt
egyptian
ejcn
emph
endophytes
enskip
enumitem
evans
fermentolyse
fermentolysis
fermentée
fi
flatbreads
flavour
flavours
fleischmann
floattype
flushleft
flushright
fnpct
fontseries
fontspec
foodsafe
footnotesize
frigidum
gMbZeUIVzZY
gelatinization
gestions
giga
github
glucan
glutenin
glycaemic
graphicspath
graphicx
hangfrom
heterofermentative
hfill
hidelinks
hlocre
hlorange
hoffset
homofermentative
howpublished
hrule
hrulefill
hscale
hspace
htb
htp
hydrations
hyperref
hypersetup
ie
ifdefined
ifnextchar
ifthenelse
ifwidelayout
includegraphics
industrialisation
injera
isaccessible
jalapeño
jordan
kao
karl
keepaspectratio
kitchenaid
labelled
lacto
le
leavevmode
leftmargin
lievito
linkcolor
linktoc
listname
lll
loafpan
loc
longtable
madre
make4ht
makebox
makecell
makefile
marginparsep
marginparwidth
mbox
microbiome
microtype
mie
milho
mixins
mtocshift
naïve
newcommand
newif
newlength
nextline
niger
nobreakspace
nordic
nuklei
numwidth
ocgcolorlinks
oddsidemargin
outcompete
outcompeted
outcompeting
overferment
overfermented
overproof
overproofing
pHvalue
paperwidth
parbaked
parbox
parmesan
pathreplacing
pdfinfo
pentosans
ph
pinkpic
png
poolish
pre
preshape
preshaping
puré
puréd
purée
pâte
raffaella
redpic
renewcommand
rl
roti
saccharomyces
sanfranciscensis
sanfrancisco
saprotrophic
sbseries
scalebox
scandinavia
scorings
selectfont
semibold
sep
setchapterimage
setchapterpreamble
setchapterstyle
setlength
setlist
setmainfont
setmonofont
setsansfont
setuptoc
sffamily
shelflife
siunitx
sj
smedt
softbuns
spelt
sporulated
sporulates
sporulating
sporulation
standmixer
stollen
sublicense
sug
switzerland
teff
tex
textwidth
th
theadfont
thechapter
thrillist
tikz
tikzpicture
timeframe
timespan
tocline
toolchain
touchpoints
transformative
uk
unchlorinated
underfermented
underproofed
url
urlcolor
usepackage
vfDIfkqBCuk
vienna
vinifera
viscoelastic
vscale
vspace
wahlfeld
wait1
wait2
wetted
xsep
xshift
yYkTrGHNW2w
yeasted
yellowpic
yogurty
ysep
yshift
yudane
ziplock
Örjan
Łukasz