2013-12-03 12:41:01 +01:00
|
|
|
|
lastword = $(if $(firstword $1),$(word $(words $1),$1))
|
|
|
|
|
|
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
|
|
|
|
|
|
utildir := SELF_DIR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
# Makefile
|
|
|
|
|
|
# Adrian Perez, 2009-05-15 11:20
|
|
|
|
|
|
#
|
|
|
|
|
|
|
2016-01-17 21:47:00 +01:00
|
|
|
|
RST_HTML_FLAGS = --link-stylesheet --stylesheet=html/lsr.css
|
2013-12-03 12:41:01 +01:00
|
|
|
|
RST_TEX_FLAGS = --documentclass=igaliabk --font-encoding=OT1 --output-encoding=utf-8
|
|
|
|
|
|
OUTPUT_BASE = output
|
|
|
|
|
|
|
|
|
|
|
|
rst_srcs := $(filter-out index.rst,$(wildcard *.rst))
|
|
|
|
|
|
html_pages := $(patsubst %.rst,html/%.html,$(rst_srcs)) html/index.html
|
|
|
|
|
|
|
|
|
|
|
|
svg_images := $(wildcard images/*.svg)
|
|
|
|
|
|
png_images := $(patsubst %.svg,%.png,$(svg_images)) $(wildcard images/*.png)
|
|
|
|
|
|
|
|
|
|
|
|
utildir := ../../../tools/
|
|
|
|
|
|
|
|
|
|
|
|
# Main targets
|
|
|
|
|
|
#
|
|
|
|
|
|
all: html pdf
|
|
|
|
|
|
pdf: pdf/$(OUTPUT_BASE).pdf
|
|
|
|
|
|
ebook: pdf/$(OUTPUT_BASE).ebook.pdf
|
|
|
|
|
|
html: $(html_pages)
|
|
|
|
|
|
png: $(png_images)
|
|
|
|
|
|
|
|
|
|
|
|
.PHONY: html pdf ebook png
|
|
|
|
|
|
|
|
|
|
|
|
### Xavi
|
|
|
|
|
|
|
|
|
|
|
|
all_img := $(wildcard images/*)
|
|
|
|
|
|
build_images :=
|
|
|
|
|
|
|
|
|
|
|
|
src_images := $(wildcard images/*)
|
|
|
|
|
|
html_images := $(patsubst %,html/%,$(src_images))
|
|
|
|
|
|
|
|
|
|
|
|
$(html_images): html/images/%: images/%
|
|
|
|
|
|
$P copy-img $@
|
|
|
|
|
|
$Q mkdir -p $(@D)
|
|
|
|
|
|
$Q cp $< $@
|
|
|
|
|
|
|
|
|
|
|
|
### End Xavi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Cleanup targets
|
|
|
|
|
|
#
|
|
|
|
|
|
clean:
|
|
|
|
|
|
$P clean pdf
|
|
|
|
|
|
$Q $(RM) -r pdf/
|
|
|
|
|
|
$P clean html
|
|
|
|
|
|
$Q $(RM) -r html/
|
|
|
|
|
|
|
|
|
|
|
|
# Copy CSS file
|
|
|
|
|
|
#
|
|
|
|
|
|
html/lsr.css: lsr.css
|
|
|
|
|
|
$P copy $@
|
|
|
|
|
|
$Q mkdir -p $(@D)
|
|
|
|
|
|
$Q cp $< $@
|
|
|
|
|
|
|
|
|
|
|
|
$(html_pages): html/lsr.css $(html_images)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Top-level RST creation for the PDF
|
|
|
|
|
|
#
|
|
|
|
|
|
pdf/$(OUTPUT_BASE).rst: $(rst_srcs) docinfo
|
|
|
|
|
|
$P toplevel $@
|
|
|
|
|
|
$Q mkdir -p $(@D)
|
|
|
|
|
|
$Q $(utildir)/doctool toplevel --info=docinfo $(rst_srcs) > $@
|
|
|
|
|
|
|
|
|
|
|
|
pdf/$(OUTPUT_BASE).pdf pdf/$(OUTPUT_BASE).ebook.pdf: $(png_images)
|
|
|
|
|
|
|
|
|
|
|
|
# Index page creation for the HTML output
|
2026-01-23 11:52:02 +00:00
|
|
|
|
# DISABLED: index.rst is now manually maintained for TASKPM customization
|
|
|
|
|
|
#index.rst: $(rst_srcs) docinfo
|
|
|
|
|
|
# $P htmlindex $@
|
|
|
|
|
|
# $Q mkdir -p $(@D)
|
|
|
|
|
|
# $Q $(utildir)/doctool htmlindex --info=docinfo $(rst_srcs) > $@
|
2013-12-03 12:41:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Implicit rules
|
|
|
|
|
|
#
|
|
|
|
|
|
html/%.html: %.rst
|
|
|
|
|
|
$P rst2html $@
|
|
|
|
|
|
$Q mkdir -p $(@D)
|
|
|
|
|
|
$Q $(utildir)/doctool rst2html $(RST_HTML_FLAGS) $< $@
|
|
|
|
|
|
|
|
|
|
|
|
%.tex: %.rst
|
|
|
|
|
|
$P rst2latex $@
|
|
|
|
|
|
$Q mkdir -p $(@D)
|
|
|
|
|
|
$Q $(utildir)/doctool rst2latex $(RST_TEX_FLAGS) $< $@
|
|
|
|
|
|
|
|
|
|
|
|
%.ebook.tex: %.rst
|
|
|
|
|
|
$P rst2ebook $@
|
|
|
|
|
|
$Q mkdir -p $(@D)
|
|
|
|
|
|
$Q $(utildir)/doctool rst2ebook $(RST_TEX_FLAGS) $< $@
|
|
|
|
|
|
|
|
|
|
|
|
%.pdf: %.tex
|
|
|
|
|
|
$P pdflatex $@
|
|
|
|
|
|
$Q cd $(@D) && TEXINPUTS=.:$(CURDIR): pdflatex $(PDFLATEX_FLAGS) $(CURDIR)/$<
|
|
|
|
|
|
$Q cd $(@D) && TEXINPUTS=.:$(CURDIR): pdflatex $(PDFLATEX_FLAGS) $(CURDIR)/$<
|
|
|
|
|
|
|
|
|
|
|
|
%.trim.png: %.svg
|
|
|
|
|
|
$P svg2png $@
|
|
|
|
|
|
$Q inkscape --without-gui --export-png=$@ --export-area-canvas --export-dpi=150 $<
|
|
|
|
|
|
|
|
|
|
|
|
%.png: %.trim.png
|
|
|
|
|
|
$P png-trim $@
|
|
|
|
|
|
$Q convert -trim $< $@
|
|
|
|
|
|
|
|
|
|
|
|
# Avoid removing intermediate .tex files and similar things.
|
|
|
|
|
|
#
|
|
|
|
|
|
.SECONDARY:
|
|
|
|
|
|
|
|
|
|
|
|
# Control operation verboseness
|
|
|
|
|
|
#
|
|
|
|
|
|
ifeq ($(origin V),command line)
|
|
|
|
|
|
verbose := $(V)
|
|
|
|
|
|
endif
|
|
|
|
|
|
ifndef verbose
|
|
|
|
|
|
verbose := 0
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
ifeq ($(verbose),0)
|
|
|
|
|
|
P = @printf '[1;32m * [0;0m%-10s [1;33m%s[0;0m\n'
|
|
|
|
|
|
Q = @
|
|
|
|
|
|
PDFLATEX_FLAGS += -interaction batchmode
|
|
|
|
|
|
else
|
|
|
|
|
|
P = @:
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
# Check for the U= command line argument
|
|
|
|
|
|
#
|
|
|
|
|
|
ifeq ($(origin U),command line)
|
|
|
|
|
|
utildir := $(U)
|
|
|
|
|
|
endif
|
|
|
|
|
|
ifndef utildir
|
|
|
|
|
|
utildir := $(CURDIR)
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# vim:ft=make
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
|