ItEr29S15DocumentacionFormacionItEr25S04: User document in reStructured text with some tools for making HTML and Pdf.

This commit is contained in:
Xavier Castaño 2009-10-07 15:41:25 +02:00 committed by Javier Moran Rua
parent 35c3483db8
commit 7eeea235ec
2 changed files with 199 additions and 1 deletions

199
doc/Makefile Normal file
View file

@ -0,0 +1,199 @@
BUILDDIR ?= _build
PACKAGE := documento-usuario-navalplan
VERSION := 0.1
all_rst := $(wildcard src/*/*.rst)
main_rst := src/documento-usuario-navalplan.rst
all_pdf := $(patsubst src/%.rst,$(BUILDDIR)/%.pdf,$(all_rst))
main_pdf := $(patsubst src/%.rst,$(BUILDDIR)/%.pdf,$(main_rst))
ebook_pdf := $(patsubst src/%.rst,$(BUILDDIR)/%.ebook.pdf,$(main_rst))
all_html := $(patsubst src/%.rst,$(BUILDDIR)/%.html,$(all_rst))
main_html := $(patsubst src/%.rst,$(BUILDDIR)/%.html,$(main_rst))
RST_TEX_FLAGS = --output-encoding=latin1 --font-encoding=OT1 \
--use-latex-docinfo \
--table-style=booktabs --use-latex-toc \
--use-latex-citations --use-latex-footnotes \
--documentclass=igaliabk \
$(RST_EXTRA_TEX_FLAGS)
RST_HTML_FLAGS = --output-encoding=utf8 \
--stylesheet-path=$(BUILDDIR)/css/lsr.css \
$(RST_EXTRA_HTML_FLAGS)
all: html pdf ebook build-att
pdf: $(all_pdf) $(main_pdf)
html: $(all_html) $(main_html)
ebook: $(ebook_pdf)
$(BUILDDIR)/documento-usuario-navalplan.pdf: $(all_rst)
$(BUILDDIR)/documento-usuario-navalplan.ebook.pdf: $(all_rst)
$(BUILDDIR)/documento-usuario-navalplan.html: src/parts $(all_rst)
$P toplevel $@
$Q (cd src && ../tools/toplevel-html) < $< \
| ./tools/doctool rst2html $(RST_HTML_FLAGS) - $@
$(BUILDDIR)/documento-usuario-navalplan.tex: build-att
$(BUILDDIR)/documento-usuario-navalplan.tex: src/parts $(all_rst)
$P toplevel $@
$Q (cd src && ../tools/toplevel-tex) < $< \
| (cd $(BUILDDIR) && ../tools/doctool rst2latex $(RST_TEX_FLAGS) - ../$@)
$(BUILDDIR)/documento-usuario-navalplan.ebook.tex: build-att
$(BUILDDIR)/documento-usuario-navalplan.ebook.tex: src/parts $(all_rst)
$P toplevel $@
$Q (cd src && ../tools/toplevel-tex) < $< \
| (cd $(BUILDDIR) && ../tools/doctool rst2ebook $(RST_TEX_FLAGS) - ../$@)
all_img := $(wildcard src/*/images/*)
build_images :=
define imagedir-t
src_$1_images := $$(wildcard src/$1/images/*)
rst_$1_files := $$(wildcard src/$1/*.rst)
pdf_$1_files := $$(patsubst src/$1/%.rst,$(BUILDDIR)/$1/%.pdf,$$(rst_$1_files))
html_$1_files := $$(patsubst src/$1/%.rst,$(BUILDDIR)/$1/%.html,$$(rst_$1_files))
$1_images := $$(patsubst src/%,$$(BUILDDIR)/%,$$(src_$1_images))
$$($1_images): $$(BUILDDIR)/$1/images/%: src/$1/images/%
$$P copy-img $$@
$$Q mkdir -p $$(@D)
$$Q cp $$< $$@
$$(main_pdf): $$($1_images)
$$(main_html): $$($1_images)
$$(pdf_$1_files): $$($1_images)
$$(html_$1_files): $$($1_images)
endef
$(foreach name,$(patsubst src/%/images,%,$(wildcard src/*/images)),\
$(eval $(call imagedir-t,$(name))))
define attachdir-t
src_$1_att := $$(wildcard src/$1/attachments/*)
dst_$1_att := $$(patsubst src/$1/%,$(BUILDDIR)/%,$$(src_$1_att))
$$(dst_$1_att): $$(BUILDDIR)/attachments/% : src/$1/attachments/%
$$P copy-att $$@
$$Q mkdir -p $$(@D)
$$Q mkdir -p $$(BUILDDIR)/$1
$$Q $$(RM) $$(BUILDDIR)/attachments/attachments
$$Q if ! [ -L $$(BUILDDIR)/$1/attachments ] ; then \
rm -rf $$(BUILDDIR)/$1/attachments ; \
ln -s ../attachments $$(BUILDDIR)/$1/attachments ; \
fi
$$Q cp $$< $$@
build-att: $$(dst_$1_att)
endef
build-att:
.PHONY: build-att
$(foreach name,$(patsubst src/%/attachments,%,$(wildcard src/*/attachments)),\
$(eval $(call attachdir-t,$(name))))
clean:
$P clean ''
$Q $(RM) $(all_pdf) $(all_html) $(main_pdf) $(main_html) $(ebook_pdf)
$(BUILDDIR)/css/lsr.css: src/lsr.css
$P copy-css $@
$Q mkdir -p $(@D)
$Q cp $< $@
$(BUILDDIR)/%.html: src/%.rst $(BUILDDIR)/css/lsr.css
$P rst2html $@
$Q mkdir -p $(@D)
$Q ./tools/doctool rst2html $(RST_HTML_FLAGS) $< $@
$(BUILDDIR)/%.tex: src/%.rst
$P rst2latex $@
$Q mkdir -p $(@D)
$Q ./tools/doctool rst2latex $(RST_TEX_FLAGS) $< $@
%.pdf: %.tex
$P pdflatex $@
$Q cd $(@D) && TEXINPUTS=.:$(CURDIR)/src: pdflatex $(PDFLATEX_FLAGS) $(CURDIR)/$<
$Q cd $(@D) && TEXINPUTS=.:$(CURDIR)/src: pdflatex $(PDFLATEX_FLAGS) $(CURDIR)/$<
dist dist-pdf dist-html: \
T = _dist/$(PACKAGE)-$(VERSION)/usr/share/$(PACKAGE)
dist:
$P $@ $(PACKAGE)-$(VERSION)
$Q mkdir -p $T/html
$Q cp -r $(BUILDDIR)/* $T/html
$Q rm -rf $T/html/attachments
$Q find $T \( -name '*.log' \
-o -name '*.aux' \
-o -name '*.lot' \
-o -name '*.lof' \
-o -name '*.out' \
-o -name '*.toc' \
-o -name '*.pdf' \
-o -name '*.tex' \
\) -delete
$Q find $T -type l -name attachments -delete
$Q find $T/html -mindepth 1 -maxdepth 1 \
-type d -exec ln -fs ../../attachments {} \;
$Q mkdir -p $T/pdf
$Q cp $(main_pdf) $(all_pdf) $T/pdf
$Q ln -sf ../attachments $T/pdf/attachments
$Q mkdir -p $T/attachments
$Q cp src/*/attachments/* $T/attachments
$Q tar cfz $(PACKAGE)-$(VERSION).tar.gz -C _dist $(PACKAGE)-$(VERSION)
dist: all
installdirs:
$P $@ ''
$Q mkdir -p $(DESTDIR)/
install: dist installdirs
$P $@ $(PACKAGE)-$(VERSION)
$Q cp -aR _dist/$(PACKAGE)-$(VERSION)/. $(DESTDIR)/
distclean: clean
$P $@ ''
$Q $(RM) $(PACKAGE)-$(VERSION).tar.gz
$Q $(RM) -r $(BUILDDIR)
$Q $(RM) -r _dist
ifeq ($(origin V),command line)
verbose := $(V)
endif
ifndef verbose
verbose := 0
endif
ifeq ($(verbose),0)
P = @printf ' * %-10s %s\n'
Q = @
PDFLATEX_FLAGS += -interaction batchmode
else
P = @:
endif
.PHONY: subdirs clean distclean install installdirs builddir pdf html
.PHONY: dist dist-pdf dist-html ebook
.SECONDARY:

View file

@ -1 +0,0 @@
xavi@127.0.1.1.4137:1254405172