guide-libreasso/Makefile

72 lines
2.9 KiB
Makefile

all: guide.pdf
EXT = aux ilg log lof lot nlo nls out toc tns nav snm old blg bbl haux htoc
TEMP=$(foreach ext,$(EXT), guide.$(ext))
PDFTEX = pdflatex -interaction nonstopmode
NEED_RERUN = '(There were undefined references|Rerun (me )?to get (cross-references|the bars) right)|((Reference|Citation).*undefined)|(Label.*multiply defined)'
IMG_PNG = $(wildcard includes/screenshots/*.png) $(wildcard includes/images/*.png)
IMG_PNG_SMALL = $(subst screenshots,screenshots/vignettes, $(subst images,images/vignettes, ${IMG_PNG}))
includes/screenshots/vignettes/%.png: includes/screenshots/%.png
convert $< -resize 200 $@
includes/images/vignettes/%.png: includes/images/%.png
convert $< -resize 200 $@
IMG_JPG = $(wildcard includes/screenshots/*.jpg) $(wildcard includes/images/*.jpg)
IMG_JPG_SMALL = $(subst screenshots,screenshots/vignettes, $(subst images,images/vignettes, ${IMG_JPG}))
includes/screenshots/vignettes/%.jpg: includes/screenshots/%.jpg
convert $< -resize 200 $@
includes/images/vignettes/%.jpg: includes/images/%.jpg
convert $< -resize 200 $@
all : ${PDF}
guide_libre_asso.wiki:
wget "http://wiki.april.org/index.php?title=Guide_Libre_Association_complet&action=raw" -O $@
guide_libre_asso.tex: guide_libre_asso.wiki
sed -f tools/wiki2tex.sed $< > $@
sed -i $@ -e 's/.png//g'
sed -i $@ -e 's/\\description/\\descriptif/g'
vim -c '%s/^\(\s*\*.*\)\n\(\s*[^*]\|\n\)/\1\r\\end{itemize}\r\2/g' -c '%s/^\(\s*[^*].*\|\)\n\s*\*/\1\r\\begin{itemize}\r*/g' -c '%s/^\s*\*/\\item/' -c ':x' $@
guide.pdf: guide.tex guide_libre_asso.tex lolipop.cls ${IMG_PNG} ${IMG_JPG}
${PDFTEX} $<
if egrep -q $(NEED_RERUN) $(subst tex,log,$<) ; then ${PDFTEX} $< ; fi
version_html/tmp/guide.html: guide.tex guide_libre_asso.tex lolipop.hva ${IMG_PNG_SMALL} ${IMG_JPG_SMALL}
cd version_html/tmp &&\
hevea -I ../../ $< 2> guide.log &&\
if egrep -q $(NEED_RERUN) guide.log ; then hevea -I ../../ $< 2> guide.log; fi
version_html/tmp/index.html: version_html/tmp/guide.html
cd $(dir $<) && hacha -nolinks $(notdir $<)
version_html/tmp/index.xhtml: version_html/tmp/index.html
cd $(dir $<) &&\
(tidy -c -e -utf8 -asxhtml --doctype strict --fix-uri 1 $(notdir $<) > $(notdir $@) || test -f $(notdir $@)) &&\
(for file in guide*.html; do tidy -utf8 -asxhtml --doctype strict $$file > `basename $$file html`xhtml; done || /bin/true) &&\
(tidy -utf8 -asxhtml --doctype strict index.html > index.xhtml || test -f index.xhtml) &&\
sed -i -e 's/guide\([0-9]*\)\.html/guide\1.xhtml/g' *.xhtml
version_html/guide.html: version_html/tmp/index.xhtml $(wildcard version_html/tmp/*.xhtml)
cd tools/xslt/ && ./xslt-html.sh
clean:
rm -fv $(TEMP) version_html/tmp/*
mrproper: clean
rm -fv guide.pdf guide_libre_asso.* version_html/guide.html ${IMG_PNG_SMALL} ${IMG_JPG_SMALL}
distclean: mrproper
rebuild:
rm -fv guide_libre_asso.wiki guide_libre_asso.tex
make all
.PHONY: all clean mrproper distclean rebuild