update Makefile to create index and public dir
[doctor.git] / Makefile
index 9095346..1e06ef3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,39 @@
-BUILDDIR = build
+BUILDDIR := build
+PUBLICDIR := public
 DESIGN_DOCS = $(wildcard design_docs/*.rst)
+MANUALS = $(wildcard manuals/*.rst)
 
-.PHONY: clean html pdf all
+.PHONY: clean html pdf bps man all public
 
-all: html pdf
+define index
+       rm -f $1/index.html
+       find $1 -type f | while read a; do echo "<li><a href=$${a#$1/}>$${a#$1/}</a></li>" >> $1/index.html; done
+endef
+
+all: man bps html pdf
+       $(call index,$(BUILDDIR))
+
+public:
+       rm -rf $(PUBLICDIR)
+       mkdir -p $(PUBLICDIR)
+       cp -r $(BUILDDIR)/manuals $(PUBLICDIR)/
+       cp -r $(BUILDDIR)/design_docs $(PUBLICDIR)/
+       cp -r $(BUILDDIR)/requirements/html $(PUBLICDIR)/
+       cp -r $(BUILDDIR)/requirements/latex/*.pdf $(PUBLICDIR)/
+       $(call index,$(PUBLICDIR))
 
 clean:
        rm -rf $(BUILDDIR)/*
 
-html: $(DESIGN_DOCS)
-       mkdir -p build/design_docs
-       rst2html.py $^ $(BUILDDIR)/$(^:.rst=.html)
+man:
+       mkdir -p $(BUILDDIR)/manuals
+       $(foreach f,$(MANUALS),rst2html.py $(f) $(BUILDDIR)/$(f:.rst=.html);)
+
+bps: $(DESIGN_DOCS)
+       mkdir -p $(BUILDDIR)/design_docs
+       $(foreach f,$(DESIGN_DOCS),rst2html.py $(f) $(BUILDDIR)/$(f:.rst=.html);)
+
+html:
        sphinx-build -b html -c etc -d $(BUILDDIR)/doctrees \
            requirements $(BUILDDIR)/requirements/html