# Documentation sources to build
MAN-SRC-y := $(sort $(basename $(wildcard man/*.pod man/*.pandoc)))
+RST-SRC-y := $(sort $(filter-out %index.rst,$(shell find * -type f -name '*.rst' -print)))
+
TXTSRC-y := $(sort $(shell find misc -name '*.txt' -print))
PANDOCSRC-y := $(sort $(shell find designs/ features/ misc/ process/ specs/ -name '*.pandoc' -print))
DOC_HTML := html/SUPPORT.html \
$(patsubst %.pandoc,html/%.html,$(PANDOCSRC-y)) \
+ $(patsubst %.rst,html/%.html,$(RST-SRC-y)) \
$(patsubst %,html/%.html,$(MAN-SRC-y)) \
$(patsubst %.txt,html/%.txt,$(TXTSRC-y)) \
$(patsubst %,html/hypercall/%/index.html,$(DOC_ARCHES))
DOC_TXT := $(patsubst %.txt,txt/%.txt,$(TXTSRC-y)) \
$(patsubst %.pandoc,txt/%.txt,$(PANDOCSRC-y)) \
+ $(patsubst %.rst,txt/%.txt,$(RST-SRC-y)) \
$(patsubst %,txt/%.txt,$(MAN-SRC-y))
-DOC_PDF := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y))
+DOC_PDF := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \
+ $(patsubst %.rst,pdf/%.pdf,$(RST-SRC-y))
# Top level build targets
.PHONY: all
$(call GENERATE_PANDOC_RULE_RAW,$(1)/%.$(1),%.$(2))
endef
$(eval $(call GENERATE_PANDOC_RULE,pdf,pandoc)) # pdf/%.pdf: %.pandoc
+$(eval $(call GENERATE_PANDOC_RULE,pdf,rst)) # pdf/%.pdf: %.rst
$(eval $(call GENERATE_PANDOC_RULE,txt,pandoc)) # txt/%.txt: %.pandoc
+$(eval $(call GENERATE_PANDOC_RULE,txt,rst)) # txt/%.txt: %.rst
$(eval $(call GENERATE_PANDOC_RULE,html,pandoc)) # html/%.html: %.pandoc
+$(eval $(call GENERATE_PANDOC_RULE,html,rst)) # html/%.html: %.rst
$(eval $(call GENERATE_PANDOC_RULE_RAW,html/SUPPORT.html,$(XEN_ROOT)/SUPPORT.md))