On Tue, 28 Aug 2018 23:19:15 +0100 Daniel Stone <dani...@collabora.com> wrote:
> 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 <dani...@collabora.com> > --- > doc/doxygen/Makefile.am | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) Hi Daniel, this makes sense to me, so even though I didn't test: Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk> Thanks, pq > > diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am > index f8b0b3aa..31d953c0 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.
pgpsmJsjHgXL2.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel