Altered Makefile so that doc targets needn't be rebuilt if they have not been updated
parent
25d8a9476b
commit
799aae0a56
50
Makefile
50
Makefile
|
@ -19,6 +19,7 @@ PATH_DOC_CSS=${PATH_DOC}/manual.css
|
||||||
PATH_DOC_IMG=${PATH_DOC}/img
|
PATH_DOC_IMG=${PATH_DOC}/img
|
||||||
PATH_MANUAL_TEXI=${PATH_DOC}/manual.texi
|
PATH_MANUAL_TEXI=${PATH_DOC}/manual.texi
|
||||||
|
|
||||||
|
doc_src := $(wildcard $(PATH_DOC)/*.texi)
|
||||||
doc_imgs := $(patsubst %.dia, %.png, $(wildcard $(PATH_DOC_IMG)/*.dia))
|
doc_imgs := $(patsubst %.dia, %.png, $(wildcard $(PATH_DOC_IMG)/*.dia))
|
||||||
|
|
||||||
COMBINE=${PATH_TOOLS}/combine
|
COMBINE=${PATH_TOOLS}/combine
|
||||||
|
@ -39,8 +40,9 @@ all: combine doc
|
||||||
# create build dir
|
# create build dir
|
||||||
mkbuild:
|
mkbuild:
|
||||||
mkdir -p "$(PATH_BUILD)"
|
mkdir -p "$(PATH_BUILD)"
|
||||||
mkbuild-doc:
|
$(PATH_DOC_OUTPUT):
|
||||||
mkdir -p "$(PATH_DOC_OUTPUT)"
|
mkdir -p "$(PATH_DOC_OUTPUT)"
|
||||||
|
mkbuild-doc: | $(PATH_DOC_OUTPUT)
|
||||||
|
|
||||||
# combine all modules into easily redistributable ease.js file (intended for
|
# combine all modules into easily redistributable ease.js file (intended for
|
||||||
# browser)
|
# browser)
|
||||||
|
@ -65,15 +67,15 @@ perf-%.js: default
|
||||||
# generate texinfo documentation (twice to generate TOC), then remove the extra
|
# generate texinfo documentation (twice to generate TOC), then remove the extra
|
||||||
# files that were generated
|
# files that were generated
|
||||||
#
|
#
|
||||||
# generates: pdf, HTML (multiple pages), HTML (single page)
|
# generates: pdf, info, HTML (multiple pages), HTML (single page)
|
||||||
doc: doc-pdf doc-texi doc-plain doc-html
|
doc: | doc-pdf doc-info doc-plain doc-html
|
||||||
|
|
||||||
doc-img: $(doc_imgs)
|
|
||||||
|
|
||||||
|
# doc images
|
||||||
doc/img/%.png: doc/img/%.dia
|
doc/img/%.png: doc/img/%.dia
|
||||||
dia -e $@ -s 600x $<
|
dia -e $@ -s 600x $<
|
||||||
|
|
||||||
doc-pdf: | mkbuild-doc doc-img
|
# doc pdf
|
||||||
|
$(PATH_DOC_OUTPUT)/%.pdf: $(doc_src) | mkbuild-doc doc-img
|
||||||
TEXINPUTS="$(PATH_DOC):" \
|
TEXINPUTS="$(PATH_DOC):" \
|
||||||
pdftex -output-directory "${PATH_DOC}" "${PATH_MANUAL_TEXI}" && \
|
pdftex -output-directory "${PATH_DOC}" "${PATH_MANUAL_TEXI}" && \
|
||||||
TEXINPUTS="$(PATH_DOC):" \
|
TEXINPUTS="$(PATH_DOC):" \
|
||||||
|
@ -81,23 +83,37 @@ doc-pdf: | mkbuild-doc doc-img
|
||||||
mv -f "${PATH_DOC}"/*.pdf "${PATH_DOC_OUTPUT}"
|
mv -f "${PATH_DOC}"/*.pdf "${PATH_DOC_OUTPUT}"
|
||||||
cd "$(PATH_DOC)" && rm -f $(shell cat "$(PATH_DOC)/.gitignore")
|
cd "$(PATH_DOC)" && rm -f $(shell cat "$(PATH_DOC)/.gitignore")
|
||||||
|
|
||||||
doc-texi: | mkbuild-doc
|
# doc info
|
||||||
makeinfo -I "$(PATH_DOC)" -o "${PATH_DOC_OUTPUT_INFO}" \
|
$(PATH_DOC_OUTPUT_INFO): $(doc_src) | mkbuild-doc
|
||||||
"${PATH_MANUAL_TEXI}";
|
makeinfo -I "$(PATH_DOC)" -o $@ "$(PATH_MANUAL_TEXI)";
|
||||||
|
|
||||||
doc-plain: | mkbuild-doc
|
# doc plain text
|
||||||
makeinfo --plain -I "$(PATH_DOC)" "${PATH_MANUAL_TEXI}" \
|
$(PATH_DOC_OUTPUT_PLAIN): | mkbuild-doc
|
||||||
> "${PATH_DOC_OUTPUT_PLAIN}";
|
makeinfo --plain -I "$(PATH_DOC)" "${PATH_MANUAL_TEXI}" > $@
|
||||||
|
|
||||||
doc-html: | mkbuild-doc doc-img
|
# doc html (multiple pages)
|
||||||
|
$(PATH_DOC_OUTPUT_HTML)/index.html: | $(PATH_DOC_OUTPUT_HTML)/img mkbuild-doc doc-img
|
||||||
makeinfo --html --css-include="${PATH_DOC_CSS}" \
|
makeinfo --html --css-include="${PATH_DOC_CSS}" \
|
||||||
-I "$(PATH_DOC)" -o "${PATH_DOC_OUTPUT_HTML}" "${PATH_MANUAL_TEXI}"; \
|
-I "$(PATH_DOC)" -o "${PATH_DOC_OUTPUT_HTML}" "${PATH_MANUAL_TEXI}";
|
||||||
|
|
||||||
|
# doc html (single page)
|
||||||
|
$(PATH_DOC_OUTPUT_HTML1): | $(PATH_DOC_OUTPUT)/img mkbuild-doc doc-img
|
||||||
makeinfo --no-split --html --css-include="${PATH_DOC_CSS}" \
|
makeinfo --no-split --html --css-include="${PATH_DOC_CSS}" \
|
||||||
-I "$(PATH_DOC)" -o "${PATH_DOC_OUTPUT_HTML1}" "${PATH_MANUAL_TEXI}";
|
-I "$(PATH_DOC)" -o "${PATH_DOC_OUTPUT_HTML1}" "${PATH_MANUAL_TEXI}";
|
||||||
mkdir -p "$(PATH_DOC_OUTPUT_HTML)/img"
|
|
||||||
cp "$(PATH_DOC_IMG)"/*.png "$(PATH_DOC_OUTPUT_HTML)/img"
|
|
||||||
ln -s manual/img "$(PATH_DOC_OUTPUT)/img"
|
|
||||||
|
|
||||||
|
# doc images (in build dir)
|
||||||
|
$(PATH_DOC_OUTPUT)/img: | mkbuild-doc doc-img
|
||||||
|
mkdir -p $@
|
||||||
|
cp "$(PATH_DOC_IMG)"/*.png $@
|
||||||
|
$(PATH_DOC_OUTPUT_HTML)/img: $(PATH_DOC_OUTPUT)/img
|
||||||
|
mkdir -p $(PATH_DOC_OUTPUT_HTML)
|
||||||
|
ln -s ../img $@
|
||||||
|
|
||||||
|
doc-img: $(doc_imgs)
|
||||||
|
doc-pdf: $(PATH_DOC_OUTPUT)/manual.pdf
|
||||||
|
doc-info: $(PATH_DOC_OUTPUT_INFO)
|
||||||
|
doc-plain: $(PATH_DOC_OUTPUT_PLAIN)
|
||||||
|
doc-html: $(PATH_DOC_OUTPUT_HTML)/index.html $(PATH_DOC_OUTPUT_HTML1)
|
||||||
|
|
||||||
# clean up build dir
|
# clean up build dir
|
||||||
clean:
|
clean:
|
||||||
|
|
Loading…
Reference in New Issue