Remove some troublesome trailing slashes from paths
[catalyst.git] / Makefile
index bcc40c7c33ea9c3b0cbdcec63c89addd1100d46e..98accbe12b1ac1ad4315b79be22ce6b3c3afde0a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,23 +2,42 @@
 # Licensed under GPL v2 or later
 
 PACKAGE_VERSION = `fgrep '__version__=' catalyst | sed 's|^__version__="\(.*\)"$$|\1|'`
-CLEAN_FILES = files/catalyst.1 doc/subarches.generated.txt
-EXTRA_DIST = files/catalyst.1
+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
+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: files/catalyst.1
+all: $(EXTRA_DIST)
 
-files/catalyst.1: doc/catalyst.1.txt doc/subarches.generated.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 "$<"
 
-doc/subarches.generated.txt:
+# Additional dependencies due to inclusion
+files/catalyst.1: doc/subarches.generated.txt
+files/catalyst-spec.5: doc/subarches.generated.txt doc/targets.generated.txt
+
+doc/subarches.generated.txt: $(wildcard arch/*.py) doc/make_subarch_table_guidexml.py
        ./doc/make_subarch_table_guidexml.py
 
+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 $(CLEAN_FILES)
+       rm -f $(GENERATED_FILES)
        find -name '*.pyo' -delete
 
 check-git-repository: