Makefile: Add DOCS for building files/HOWTO.html
authorW. Trevor King <wking@tremily.us>
Sat, 9 Feb 2013 20:40:31 +0000 (15:40 -0500)
committerMatt Turner <mattst88@gmail.com>
Sat, 9 Mar 2013 02:39:11 +0000 (18:39 -0800)
The rules are more general though; any new *.txt file in doc/ that
doesn't match *.?.txt or one of the explicitly-listed *.generated.txt
files will be automatically built and distributed.

The generated `files/docbook-xsl.css` is a side effect of the xhtml
target.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Makefile

index 016120a78b562cfdb4f60d61d5952396d771218a..98accbe12b1ac1ad4315b79be22ce6b3c3afde0a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,15 +5,18 @@ PACKAGE_VERSION = `fgrep '__version__=' catalyst | sed 's|^__version__="\(.*\)"$
 MAN_PAGE_SOURCES = $(wildcard doc/*.?.txt)
 MAN_PAGES = $(patsubst doc/%.txt,files/%,$(MAN_PAGE_SOURCES))
 MAN_PAGE_INCLUDES = doc/subarches.generated.txt doc/targets.generated.txt
-EXTRA_DIST = $(MAN_PAGES)
-GENERATED_FILES = $(MAN_PAGES) $(MAN_PAGE_INCLUDES)
+DOC_SOURCES = $(filter-out $(MAN_PAGE_SOURCES) $(MAN_PAGE_INCLUDES),$(wildcard doc/*.txt))
+DOCS = $(patsubst doc/%.txt,files/%.html,$(DOC_SOURCES))
+DOC_SIDE_EFFECTS  = files/docbook-xsl.css
+EXTRA_DIST = $(MAN_PAGES) $(DOCS) $(DOC_SIDE_EFFECTS)
+GENERATED_FILES = $(MAN_PAGES) $(MAN_PAGE_INCLUDES) $(DOCS) $(DOC_SIDE_EFFECTS)
 
 distdir = catalyst-$(PACKAGE_VERSION)
 
 
 all: $(EXTRA_DIST)
 
-files/%: doc/%.txt doc/asciidoc.conf Makefile catalyst
+$(MAN_PAGES): files/%: doc/%.txt doc/asciidoc.conf Makefile catalyst
        a2x --conf-file=doc/asciidoc.conf --attribute="catalystversion=$(PACKAGE_VERSION)" \
                 --format=manpage -D files "$<"
 
@@ -27,6 +30,12 @@ doc/subarches.generated.txt: $(wildcard arch/*.py) doc/make_subarch_table_guidex
 doc/targets.generated.txt: doc/make_target_table.py $(wildcard modules/*_target.py)
        "./$<" > "$@"
 
+$(DOCS): files/%.html: doc/%.txt doc/asciidoc.conf Makefile
+       a2x --conf-file=doc/asciidoc.conf --attribute="catalystversion=$(PACKAGE_VERSION)" \
+                --format=xhtml -D files "$<"
+
+$(DOC_SIDE_EFFECTS): $(firstword $(DOCS))
+
 clean:
        rm -f $(GENERATED_FILES)
        find -name '*.pyo' -delete