mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-29 05:40:16 -04:00
wayland-client.h and wayland-server.h include the protocol headers generated at build time. This means that a libwayland user cannot generate and use protocol code created from a wayland.xml newer than the installed libwayland, because it is not possible to only include the API header. Another use case is language bindings, which would generate their own protocol code and which only need to use the library ABI, not the generated C code. This commit adds wayland-client-core.h and wayland-server-core.h which do not include the protocol headers or any deprecated code. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
79 lines
2.3 KiB
Makefile
79 lines
2.3 KiB
Makefile
|
|
.SUFFIXES = .gv .png .map
|
|
|
|
noinst_DATA = xml/Client/index.xml xml/Server/index.xml
|
|
dist_noinst_DATA = wayland.doxygen.in
|
|
|
|
scanned_src_files_shared = \
|
|
$(top_srcdir)/src/wayland-util.c \
|
|
$(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_Server = \
|
|
$(scanned_src_files_shared) \
|
|
$(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
|
|
|
|
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.
|
|
alldirs := xml xml/Client xml/Server man/man3
|
|
|
|
$(diagrams): $(diagramssrc)
|
|
|
|
$(diagram_maps): $(diagramssrc)
|
|
|
|
xml/%/index.xml: $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | xml/%
|
|
$(AM_V_GEN)(cat wayland.doxygen; \
|
|
echo "GENERATE_XML=YES"; \
|
|
echo "XML_OUTPUT=xml/$*"; \
|
|
echo "INPUT= $(scanned_src_files_$*)"; \
|
|
) | $(DOXYGEN) -
|
|
|
|
man/man3/wl_display.3: $(scanned_src_files_man) wayland.doxygen | 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 | xml
|
|
$(AM_V_GEN)$(DOT) -Tpng -o$@ $<
|
|
|
|
xml/%.map: $(diagramsdir)/%.gv | 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 man/
|
|
|
|
EXTRA_DIST = $(diagramssrc)
|