1
LATEXFILE=ubuntu-manual
7
CHAPTERS := $(wildcard \
9
advanced-topics/*.tex \
10
ubuntu-desktop/*.tex \
12
working-with-ubuntu/*.tex \
16
software-management/*.tex \
17
troubleshooting/*.tex)
19
$(LATEXFILE).pdf: $(LATEXFILE).tex ubuntu-manual.cls $(CHAPTERS) revinfo
20
xelatex --output-driver="xdvipdfmx -V 5" $(LATEXFILE)
21
xelatex --output-driver="xdvipdfmx -V 5" $(LATEXFILE)
22
makeglossaries -L english $(LATEXFILE)
23
makeindex $(LATEXFILE)
24
#xindy -C utf8 -M texindy -L english -t $(LATEXFILE).ilg ${TEXFILE}.idx
25
xelatex --output-driver="xdvipdfmx -V 5" $(LATEXFILE)
26
makeglossaries -L english $(LATEXFILE)
27
xelatex --output-driver="xdvipdfmx -V 5" $(LATEXFILE)
28
xelatex --output-driver="xdvipdfmx -V 5" $(LATEXFILE)
29
xelatex --output-driver="xdvipdfmx -V 5" $(LATEXFILE)
30
./screenshots/check_unused_screenshots.sh en_US
31
$(color_tex) $(LATEXFILE).log
32
@cat screenshots_missing-en_US.log
33
@cat screenshots_unused-en_US.log
35
check: $(LATEXFILE).pdf
36
$(color_tex) $(LATEXFILE).log
38
style-guide.pdf: style-guide.tex ubuntu-manual.cls
39
xelatex --output-driver="xdvipdfmx -V 5" style-guide
40
xelatex --output-driver="xdvipdfmx -V 5" style-guide
41
makeglossaries -L english style-guide
43
xelatex --output-driver="xdvipdfmx -V 5" style-guide
44
makeglossaries -L english style-guide
45
xelatex --output-driver="xdvipdfmx -V 5" style-guide
46
xelatex --output-driver="xdvipdfmx -V 5" style-guide
47
xelatex --output-driver="xdvipdfmx -V 5" style-guide
48
$(color_tex) style-guide.log
52
TRANSLATIONS=$(shell for PO in po/*.po; do basename $$PO .po; done) # list of languages in the po/ dir
54
# Default translation is en_US
55
ubuntu-manual-en_US.pdf: $(LATEXFILE).pdf
56
cp $(LATEXFILE).pdf $@
58
LLANG=$(shell echo $${LANG} | sed -e 's/\..*$$//g')
59
SLANG=$(shell echo $${LANG} | sed -e 's/_.*$$//g')
60
MYLANG=$(shell for PO in ${TRANSLATIONS}; do if [ "$${PO}" == "${LLANG}" ]; then echo ${LLANG}; exit 0; elif [ "$${PO}" == "${SLANG}" ]; then echo ${SLANG}; exit 0; fi; done; echo "en_US")
62
# Compile the pdf for the current system language (if there's an appropriate translation)
63
mylang: ubuntu-manual-${MYLANG}.pdf
65
ubuntu-manual-%.tex: POLANG=$(shell basename $(subst ubuntu-manual-,,$@) .tex)
66
ubuntu-manual-%.tex: revinfo
67
cp po/$(POLANG).po po/$(POLANG)_org.po
68
./po/convert_translation-credits.sed -n po/$(POLANG)_org.po > po/$(POLANG).po
69
rm po/$(POLANG)_org.po
70
po4a-translate --master-charset=utf8 -f latex -m $(LATEXFILE).tex -p $(subst .tex,.po,$(subst ubuntu-manual-,po/,$@)) -l $@ -k 0
71
./screenshots/check_unused_screenshots.sh $(POLANG)
73
#%.tex: %.po ubuntu-manual.cls revinfo
74
# po4a-translate --master-charset=utf8 -f latex -m $(LATEXFILE).tex -p $< -l ubuntu-manual-$(shell basename $< .po).tex -k 0
76
%.pdf: POLANG=$(shell basename $(subst ubuntu-manual-,,$<) .tex)
77
%.pdf: TEXFILE=$(shell basename $< .tex)
78
%.pdf: XINDYLANG=$(shell grep -v "^#" langcodes.txt | grep "^${POLANG}" | awk '{ print $$3 }' || echo -n "general")
80
%.pdf: %.tex ubuntu-manual.cls revinfo
81
$(call generate_titlepage,${POLANG})
82
xelatex --output-driver="xdvipdfmx -V 5" -interaction nonstopmode "\def\polang{${POLANG}}\input{${TEXFILE}}"
83
xelatex --output-driver="xdvipdfmx -V 5" -interaction nonstopmode "\def\polang{${POLANG}}\input{${TEXFILE}}"
84
makeglossaries -L ${XINDYLANG} ${TEXFILE}
85
#texindy -L ${XINDYLANG} -C utf8 ${TEXFILE}.idx
86
xindy -C utf8 -M texindy -M um-page-ranges -L ${XINDYLANG} ${TEXFILE}.idx -t ${TEXFILE}.ilg
87
xelatex --output-driver="xdvipdfmx -V 5" -interaction nonstopmode '\def\polang{$(POLANG)}\input{$(TEXFILE)}'
88
makeglossaries -L ${XINDYLANG} $(TEXFILE)
89
xelatex --output-driver="xdvipdfmx -V 5" -interaction nonstopmode '\def\polang{$(POLANG)}\input{$(TEXFILE)}'
90
xelatex --output-driver="xdvipdfmx -V 5" -interaction nonstopmode '\def\polang{$(POLANG)}\input{$(TEXFILE)}'
91
xelatex --output-driver="xdvipdfmx -V 5" -interaction nonstopmode '\def\polang{$(POLANG)}\input{$(TEXFILE)}'
92
$(color_tex) $(TEXFILE).log
93
@cat screenshots_missing-$(POLANG).log
94
@cat screenshots_unused-$(POLANG).log
97
#po4a -v --no-translations -MUTF-8 --copyright-holder "The Ubuntu Manual Team" --package-name ubuntu-manual --package-version `bzr revno` po4a.conf
98
po4a-gettextize -v -M UTF-8 --copyright-holder "The Ubuntu Manual Team" --package-name ubuntu-manual --package-version `bzr revno` -f latex -m $(LATEXFILE).tex -p po/ubuntu-manual.pot -o definitions=ubuntu-manual.cls
101
bzr version-info --custom --template='\\revinfo{{revno}}{{date}}' > revision.tex
104
generate_titlepage = \
105
inkscape --export-text-to-path --export-pdf=titlepage/titlepage-$(1).pdf titlepage/titlepage-$(1).svg
107
#titlepage/titlepage-%.pdf: titlepage/titlepage-%.svg
108
# inkscape --export-text-to-path --export-pdf=$(subst .svg,.pdf,$<) $<
114
inkscape --export-text-to-path --export-pdf=$@ $<
118
dot -v -Tpng $< -o $@
120
show: $(LATEXFILE).pdf
123
show-mylang: ubuntu-manual-${MYLANG}.pdf
127
-rm -fr $(LATEXFILE)*.aux $(LATEXFILE)*.log $(LATEXFILE)*.nav $(LATEXFILE)*.out $(LATEXFILE)*.snm $(LATEXFILE)*.toc
128
-rm -fr $(LATEXFILE)*.idx $(LATEXFILE)*.ilg $(LATEXFILE)*.ind $(LATEXFILE)*.lof $(LATEXFILE)*.lot $(LATEXFILE)*.tdo
129
-rm -fr $(LATEXFILE)*.glg $(LATEXFILE)*.glo $(LATEXFILE)*.gls $(LATEXFILE)*.xdy
133
-rm -f *.bbl *.blg */*.bbl */*.blg # biblio files
134
-rm -f *.ptc # titletoc
135
-rm -f screenshots*.log
139
# From Chris Monson's LaTeX Makefile
145
tput = $(shell $(TPUT) $1)
147
black := $(call tput,setaf 0)
148
red := $(call tput,setaf 1)
149
green := $(call tput,setaf 2)
150
yellow := $(call tput,setaf 3)
151
blue := $(call tput,setaf 4)
152
magenta := $(call tput,setaf 5)
153
cyan := $(call tput,setaf 6)
154
white := $(call tput,setaf 7)
155
bold := $(call tput,bold)
156
uline := $(call tput,smul)
157
reset := $(call tput,sgr0)
160
# User-settable definitions
162
LATEX_COLOR_WARNING ?= magenta
163
LATEX_COLOR_ERROR ?= red
164
LATEX_COLOR_INFO ?= green
165
LATEX_COLOR_UNDERFULL ?= magenta
166
LATEX_COLOR_OVERFULL ?= red bold
167
LATEX_COLOR_PAGES ?= bold
168
LATEX_COLOR_BUILD ?= blue
169
LATEX_COLOR_GRAPHIC ?= yellow
170
LATEX_COLOR_DEP ?= green
171
LATEX_COLOR_SUCCESS ?= green bold
172
LATEX_COLOR_FAILURE ?= red bold
174
# Gets the real color from a simple textual definition like those above
175
# $(call get-color,ALL_CAPS_COLOR_NAME)
176
# e.g., $(call get-color,WARNING)
177
get-color = $(subst $(space),,$(foreach c,$(LATEX_COLOR_$1),$($c)))
182
C_WARNING := $(call get-color,WARNING)
183
C_ERROR := $(call get-color,ERROR)
184
C_INFO := $(call get-color,INFO)
185
C_UNDERFULL := $(call get-color,UNDERFULL)
186
C_OVERFULL := $(call get-color,OVERFULL)
187
C_PAGES := $(call get-color,PAGES)
188
C_BUILD := $(call get-color,BUILD)
189
C_GRAPHIC := $(call get-color,GRAPHIC)
190
C_DEP := $(call get-color,DEP)
191
C_SUCCESS := $(call get-color,SUCCESS)
192
C_FAILURE := $(call get-color,FAILURE)
212
-e ' /Output written/{' \
213
-e ' s/.*(\([^)]\{1,\}\)).*/Success! Wrote \1/' \
214
-e ' s/[[:digit:]]\{1,\}/$(C_PAGES)&$(C_RESET)/g' \
215
-e ' s/Success!/$(C_SUCCESS)&$(C_RESET)/g' \
218
-e ' /! *LaTeX Error:.*/{' \
219
-e ' s/.*\(! *LaTeX Error:.*\)/$(C_ERROR)\1$(C_RESET)/' \
222
-e ' /.*Warning: Marginpar on page [0-9]\+ moved\./{' \
223
-e ' s//$(C_RESET)&$(C_RESET)/' \
226
-e ' /.*Warning: Reference .*/{' \
227
-e ' s//$(C_ERROR)&$(C_RESET)/' \
230
-e ' /.*Warning:.*/{' \
231
-e ' s//$(C_WARNING)&$(C_RESET)/' \
234
-e ' /Underfull.*/{' \
235
-e ' s/.*\(Underfull.*\)/$(C_UNDERFULL)\1$(C_RESET)/' \
238
-e ' /Overfull.*/{' \
239
-e ' s/.*\(Overfull.*\)/$(C_OVERFULL)\1$(C_RESET)/' \
242
$(if $(VERBOSE),,-e ' d') \
247
.PHONY: translations clean show all mylang show-mylang check revinfo -