aboutsummaryrefslogtreecommitdiffstats
path: root/doc/doxygen
diff options
context:
space:
mode:
authorDaniel Stone <daniels@collabora.com>2018-07-22 10:00:26 +0100
committerSimon Ser <contact@emersion.fr>2020-01-10 23:42:59 +0100
commit8497144faae61844af2fc9ba4a29256aed0dd402 (patch)
treeeecac38769c0bbe481491036a320e66992bd6a31 /doc/doxygen
parentdoc: Expand the abbreviation "hw" to "hardware". (diff)
downloadwayland-8497144faae61844af2fc9ba4a29256aed0dd402.tar
wayland-8497144faae61844af2fc9ba4a29256aed0dd402.tar.gz
wayland-8497144faae61844af2fc9ba4a29256aed0dd402.tar.bz2
wayland-8497144faae61844af2fc9ba4a29256aed0dd402.tar.lz
wayland-8497144faae61844af2fc9ba4a29256aed0dd402.tar.xz
wayland-8497144faae61844af2fc9ba4a29256aed0dd402.tar.zst
wayland-8497144faae61844af2fc9ba4a29256aed0dd402.zip
build/doc: Ensure destination dir exists despite VPATH
Make considers a variable called VPATH when trying to satisfy dependencies, e.g. for a target 'foo', it will consider the target extant if VPATH is '../../bar' and '../../bar/foo' exists. Part of the doc build, the '$(alldirs)' target, exists to create the target directories if they do not exist. For example, before generating xml/wayland-architecture.png, it will ensure the 'xml' target is considered up-to-date thanks to the target dependency. Creating $(srcdir)/doc/doxygen/xml thus means that the 'xml' dependency will be satisfied, so we'll never create the output directory, and the doc build will fail. Change the alldirs target list to be absolute paths, so VPATH will not be consulted and defeat the entire point of what we're trying to do. This fixes the Meson build, where we later create doc/doxygen/xml/meson.build. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Diffstat (limited to 'doc/doxygen')
-rw-r--r--doc/doxygen/Makefile.am13
1 files changed, 7 insertions, 6 deletions
diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
index f8b0b3a..31d953c 100644
--- a/doc/doxygen/Makefile.am
+++ b/doc/doxygen/Makefile.am
@@ -53,20 +53,21 @@ diagram_maps := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.map))
dist_man3_MANS = $(shell test -d man && find man/man3 -name "wl_*.3" -printf "man/man3/%P\n")
# Listing various directories that might need to be created.
-alldirs := xml xml/Client xml/Server man/man3 html/Client html/Server
+alldirsrel := xml xml/Client xml/Server man/man3 html/Client html/Server
+alldirs := $(patsubst %,$(CURDIR)/%,$(alldirsrel))
$(diagrams): $(diagramssrc)
$(diagram_maps): $(diagramssrc)
-xml/%/index.xml: $(top_srcdir)/src/scanner.c $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | xml/%
+xml/%/index.xml: $(top_srcdir)/src/scanner.c $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | $(CURDIR)/xml/%
$(AM_V_GEN)(cat wayland.doxygen; \
echo "GENERATE_XML=YES"; \
echo "XML_OUTPUT=xml/$*"; \
echo "INPUT= $(scanned_src_files_$*)"; \
) | $(DOXYGEN) -
-html/%/index.html: $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | html/%
+html/%/index.html: $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | $(CURDIR)/html/%
$(AM_V_GEN)(cat wayland.doxygen; \
echo "PROJECT_NAME=\"Wayland $* API\""; \
echo "GENERATE_HTML=YES"; \
@@ -74,7 +75,7 @@ html/%/index.html: $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_
echo "INPUT= $(scanned_src_files_$*) $(extra_doxygen_$*)"; \
) | $(DOXYGEN) -
-man/man3/wl_display.3: $(top_srcdir)/src/scanner.c $(scanned_src_files_man) wayland.doxygen | man/man3
+man/man3/wl_display.3: $(top_srcdir)/src/scanner.c $(scanned_src_files_man) wayland.doxygen | $(CURDIR)/man/man3
$(AM_V_GEN)(cat wayland.doxygen; \
echo "GENERATE_MAN=YES"; \
echo "MAN_OUTPUT=man"; \
@@ -82,10 +83,10 @@ man/man3/wl_display.3: $(top_srcdir)/src/scanner.c $(scanned_src_files_man) wayl
echo "INPUT= $(scanned_src_files_man)"; \
) | $(DOXYGEN) -
-xml/%.png: $(diagramsdir)/%.gv | xml
+xml/%.png: $(diagramsdir)/%.gv | $(CURDIR)/xml
$(AM_V_GEN)$(DOT) -Tpng -o$@ $<
-xml/%.map: $(diagramsdir)/%.gv | xml
+xml/%.map: $(diagramsdir)/%.gv | $(CURDIR)/xml
$(AM_V_GEN)$(DOT) -Tcmapx_np -o$@ $<
# general rule to create one of the listed directories.