3939SRC_DIR := src
4040BUILD_DIR := build
4141
42- DOCS_PDF := $(DOCS:%.adoc=%.pdf )
43- DOCS_HTML := $(DOCS:%.adoc=%.html )
42+ DOCS_PDF := $(addprefix $( BUILD_DIR ) /, $( DOCS:%.adoc=%.pdf ) )
43+ DOCS_HTML := $(addprefix $( BUILD_DIR ) /, $( DOCS:%.adoc=%.html ) )
4444
4545XTRA_ADOC_OPTS :=
4646ASCIIDOCTOR_PDF := asciidoctor-pdf
@@ -54,27 +54,35 @@ OPTIONS := --trace \
5454 -a pdf-fontsdir=docs-resources/fonts \
5555 -a pdf-theme=docs-resources/themes/riscv-pdf.yml \
5656 $(XTRA_ADOC_OPTS ) \
57- -D build \
5857 --failure-level=ERROR
59- -o $@ $<
6058REQUIRES := --require=asciidoctor-bibtex \
6159 --require=asciidoctor-diagram \
62- --require=asciidoctor-lists \
60+ --require=asciidoctor-lists \
6361 --require=asciidoctor-mathematical
6462
65- .PHONY : all build clean build-container build-no-container build-docs
63+ .PHONY : all build clean build-container build-no-container build-docs check-docs-resources
6664
6765all : build
6866
69- build-docs : $(DOCS_PDF ) $(DOCS_HTML )
67+ build-docs : check-docs-resources $(DOCS_PDF ) $(DOCS_HTML )
7068
7169vpath % .adoc $(SRC_DIR )
7270
73- % .pdf : % .adoc
74- $(DOCKER_CMD ) $(DOCKER_QUOTE ) $(ASCIIDOCTOR_PDF ) $(OPTIONS ) $(REQUIRES ) $< $(DOCKER_QUOTE )
71+ check-docs-resources :
72+ @test -f docs-resources/global-config.adoc || { \
73+ echo " Missing docs-resources submodule content. Run: git submodule update --init --recursive" ; \
74+ exit 1; \
75+ }
7576
76- % .html : % .adoc
77- $(DOCKER_CMD ) $(DOCKER_QUOTE ) $(ASCIIDOCTOR_HTML ) $(OPTIONS ) $(REQUIRES ) $< $(DOCKER_QUOTE )
77+ $(BUILD_DIR ) /.stamp :
78+ mkdir -p $(BUILD_DIR )
79+ touch $@
80+
81+ $(BUILD_DIR ) /% .pdf : % .adoc | $(BUILD_DIR ) /.stamp
82+ $(DOCKER_CMD ) $(DOCKER_QUOTE ) $(ASCIIDOCTOR_PDF ) $(OPTIONS ) $(REQUIRES ) -D $(BUILD_DIR ) -o $(@F ) $< $(DOCKER_QUOTE )
83+
84+ $(BUILD_DIR ) /% .html : % .adoc | $(BUILD_DIR ) /.stamp
85+ $(DOCKER_CMD ) $(DOCKER_QUOTE ) $(ASCIIDOCTOR_HTML ) $(OPTIONS ) $(REQUIRES ) -D $(BUILD_DIR ) -o $(@F ) $< $(DOCKER_QUOTE )
7886
7987build :
8088 @echo " Checking if Docker is available..."
0 commit comments