
.SUFFIXES = .gv .png .map

noinst_DATA = \
              xml/Client/index.xml \
              xml/Cursor/index.xml \
              xml/Server/index.xml \
              html/Client/index.html \
              html/Cursor/index.html \
              html/Server/index.html
dist_noinst_DATA = wayland.doxygen.in

scanned_src_files_shared = 				\
	$(top_srcdir)/src/wayland-util.h

scanned_src_files_Client = 				\
	$(scanned_src_files_shared)			\
	$(top_srcdir)/src/wayland-client.c	\
	$(top_srcdir)/src/wayland-client.h	\
	$(top_srcdir)/src/wayland-client-core.h

scanned_src_files_Cursor = 				\
	$(top_srcdir)/cursor/wayland-cursor.c	\
	$(top_srcdir)/cursor/wayland-cursor.h

scanned_src_files_Server = 				\
	$(scanned_src_files_shared)			\
	$(top_srcdir)/src/event-loop.c		\
	$(top_srcdir)/src/wayland-server.c	\
	$(top_srcdir)/src/wayland-server.h	\
	$(top_srcdir)/src/wayland-server-core.h	\
	$(top_srcdir)/src/wayland-shm.c

scanned_src_files_man =					\
	$(scanned_src_files_Server)			\
	$(top_srcdir)/src/wayland-client.c	\
	$(top_srcdir)/src/wayland-client.h	\
	$(top_srcdir)/src/wayland-client-core.h

extra_doxygen = \
	mainpage.dox

extra_doxygen_Server = \
	$(top_builddir)/protocol/wayland-server-protocol.h \
	$(extra_doxygen)

extra_doxygen_Client = \
	$(top_builddir)/protocol/wayland-client-protocol.h \
	$(extra_doxygen)

extra_doxygen_Cursor = \
	$(extra_doxygen)

diagramsdir := $(srcdir)/dot
diagramssrc := $(wildcard $(diagramsdir)/*.gv)
diagrams := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.png))
diagram_maps := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.map))

# find all man/man3/wl_foo.3 pages
# for this to work, we need to create them before the man target (hence
# all-local below)
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.
alldirsrel := xml xml/Client xml/Server xml/Cursor man/man3 html/Client html/Server html/Cursor
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) | $(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) | $(CURDIR)/html/%
	$(AM_V_GEN)(cat wayland.doxygen; \
          echo "PROJECT_NAME=\"Wayland $* API\""; \
          echo "GENERATE_HTML=YES"; \
          echo "HTML_OUTPUT=html/$*"; \
          echo "INPUT= $(scanned_src_files_$*) $(extra_doxygen_$*)"; \
          ) | $(DOXYGEN) -

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"; \
          echo "JAVADOC_AUTOBRIEF=NO"; \
          echo "INPUT= $(scanned_src_files_man)"; \
          ) | $(DOXYGEN) -

xml/%.png: $(diagramsdir)/%.gv | $(CURDIR)/xml
	$(AM_V_GEN)$(DOT) -Tpng -o$@ $<

xml/%.map: $(diagramsdir)/%.gv | $(CURDIR)/xml
	$(AM_V_GEN)$(DOT) -Tcmapx_np -o$@ $<

# general rule to create one of the listed directories.
$(alldirs):
	$(AM_V_GEN)$(MKDIR_P) $@

# there is no man-local
all-local: man/man3/wl_display.3

clean-local:
	rm -rf xml/
	rm -rf html/
	rm -rf man/

EXTRA_DIST = $(diagramssrc)
