1 2.SUFFIXES = .gv .png .map 3 4noinst_DATA = \ 5 xml/Client/index.xml \ 6 xml/Server/index.xml \ 7 html/Client/index.html \ 8 html/Server/index.html 9dist_noinst_DATA = wayland.doxygen.in 10 11scanned_src_files_shared = \ 12 $(top_srcdir)/src/wayland-util.c \ 13 $(top_srcdir)/src/wayland-util.h 14 15scanned_src_files_Client = \ 16 $(scanned_src_files_shared) \ 17 $(top_srcdir)/src/wayland-client.c \ 18 $(top_srcdir)/src/wayland-client.h \ 19 $(top_srcdir)/src/wayland-client-core.h 20 21scanned_src_files_Server = \ 22 $(scanned_src_files_shared) \ 23 $(top_srcdir)/src/wayland-server.c \ 24 $(top_srcdir)/src/wayland-server.h \ 25 $(top_srcdir)/src/wayland-server-core.h \ 26 $(top_srcdir)/src/wayland-shm.c 27 28scanned_src_files_man = \ 29 $(scanned_src_files_Server) \ 30 $(top_srcdir)/src/wayland-client.c \ 31 $(top_srcdir)/src/wayland-client.h \ 32 $(top_srcdir)/src/wayland-client-core.h 33 34extra_doxygen = \ 35 mainpage.dox 36 37extra_doxygen_Server = \ 38 $(top_builddir)/protocol/wayland-server-protocol.h \ 39 $(extra_doxygen) 40 41extra_doxygen_Client = \ 42 $(top_builddir)/protocol/wayland-client-protocol.h \ 43 $(extra_doxygen) 44 45diagramsdir := $(srcdir)/dot 46diagramssrc := $(wildcard $(diagramsdir)/*.gv) 47diagrams := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.png)) 48diagram_maps := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.map)) 49 50# find all man/man3/wl_foo.3 pages 51# for this to work, we need to create them before the man target (hence 52# all-local below) 53dist_man3_MANS = $(shell test -d man && find man/man3 -name "wl_*.3" -printf "man/man3/%P\n") 54 55# Listing various directories that might need to be created. 56alldirs := xml xml/Client xml/Server man/man3 html/Client html/Server 57 58$(diagrams): $(diagramssrc) 59 60$(diagram_maps): $(diagramssrc) 61 62xml/%/index.xml: $(top_srcdir)/src/scanner.c $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | xml/% 63 $(AM_V_GEN)(cat wayland.doxygen; \ 64 echo "GENERATE_XML=YES"; \ 65 echo "XML_OUTPUT=xml/$*"; \ 66 echo "INPUT= $(scanned_src_files_$*)"; \ 67 ) | $(DOXYGEN) - 68 69html/%/index.html: $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | html/% 70 $(AM_V_GEN)(cat wayland.doxygen; \ 71 echo "PROJECT_NAME=\"Wayland $* API\""; \ 72 echo "GENERATE_HTML=YES"; \ 73 echo "HTML_OUTPUT=html/$*"; \ 74 echo "INPUT= $(scanned_src_files_$*) $(extra_doxygen_$*)"; \ 75 ) | $(DOXYGEN) - 76 77man/man3/wl_display.3: $(top_srcdir)/src/scanner.c $(scanned_src_files_man) wayland.doxygen | man/man3 78 $(AM_V_GEN)(cat wayland.doxygen; \ 79 echo "GENERATE_MAN=YES"; \ 80 echo "MAN_OUTPUT=man"; \ 81 echo "JAVADOC_AUTOBRIEF=NO"; \ 82 echo "INPUT= $(scanned_src_files_man)"; \ 83 ) | $(DOXYGEN) - 84 85xml/%.png: $(diagramsdir)/%.gv | xml 86 $(AM_V_GEN)$(DOT) -Tpng -o$@ $< 87 88xml/%.map: $(diagramsdir)/%.gv | xml 89 $(AM_V_GEN)$(DOT) -Tcmapx_np -o$@ $< 90 91# general rule to create one of the listed directories. 92$(alldirs): 93 $(AM_V_GEN)$(MKDIR_P) $@ 94 95# there is no man-local 96all-local: man/man3/wl_display.3 97 98clean-local: 99 rm -rf xml/ 100 rm -rf html/ 101 rm -rf man/ 102 103EXTRA_DIST = $(diagramssrc) 104