1# SPDX-License-Identifier: GPL-2.0
2
3# Rules to convert a .h file to inline RST documentation
4
5SRC_DIR=$(srctree)/Documentation/userspace-api/media
6PARSER = $(srctree)/Documentation/sphinx/parse-headers.pl
7UAPI = $(srctree)/include/uapi/linux
8KAPI = $(srctree)/include/linux
9
10FILES = audio.h.rst ca.h.rst dmx.h.rst frontend.h.rst net.h.rst video.h.rst \
11	  videodev2.h.rst media.h.rst cec.h.rst lirc.h.rst
12
13TARGETS := $(addprefix $(BUILDDIR)/, $(FILES))
14
15gen_rst = \
16	echo ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions; \
17	${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
18
19quiet_gen_rst = echo '  PARSE   $(patsubst $(srctree)/%,%,$<)'; \
20	${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
21
22silent_gen_rst = ${gen_rst}
23
24$(BUILDDIR)/audio.h.rst: ${UAPI}/dvb/audio.h ${PARSER} $(SRC_DIR)/audio.h.rst.exceptions
25	@$($(quiet)gen_rst)
26
27$(BUILDDIR)/ca.h.rst: ${UAPI}/dvb/ca.h ${PARSER} $(SRC_DIR)/ca.h.rst.exceptions
28	@$($(quiet)gen_rst)
29
30$(BUILDDIR)/dmx.h.rst: ${UAPI}/dvb/dmx.h ${PARSER} $(SRC_DIR)/dmx.h.rst.exceptions
31	@$($(quiet)gen_rst)
32
33$(BUILDDIR)/frontend.h.rst: ${UAPI}/dvb/frontend.h ${PARSER} $(SRC_DIR)/frontend.h.rst.exceptions
34	@$($(quiet)gen_rst)
35
36$(BUILDDIR)/net.h.rst: ${UAPI}/dvb/net.h ${PARSER} $(SRC_DIR)/net.h.rst.exceptions
37	@$($(quiet)gen_rst)
38
39$(BUILDDIR)/video.h.rst: ${UAPI}/dvb/video.h ${PARSER} $(SRC_DIR)/video.h.rst.exceptions
40	@$($(quiet)gen_rst)
41
42$(BUILDDIR)/videodev2.h.rst: ${UAPI}/videodev2.h ${PARSER} $(SRC_DIR)/videodev2.h.rst.exceptions
43	@$($(quiet)gen_rst)
44
45$(BUILDDIR)/media.h.rst: ${UAPI}/media.h ${PARSER} $(SRC_DIR)/media.h.rst.exceptions
46	@$($(quiet)gen_rst)
47
48$(BUILDDIR)/cec.h.rst: ${UAPI}/cec.h ${PARSER} $(SRC_DIR)/cec.h.rst.exceptions
49	@$($(quiet)gen_rst)
50
51$(BUILDDIR)/lirc.h.rst: ${UAPI}/lirc.h ${PARSER} $(SRC_DIR)/lirc.h.rst.exceptions
52	@$($(quiet)gen_rst)
53
54# Media build rules
55
56.PHONY: all html epub xml latex
57
58all: $(IMGDOT) $(BUILDDIR) ${TARGETS}
59html: all
60epub: all
61xml: all
62latex: $(IMGPDF) all
63linkcheck:
64
65clean:
66	-rm -f $(DOTTGT) $(IMGTGT) ${TARGETS} 2>/dev/null
67
68$(BUILDDIR):
69	$(Q)mkdir -p $@
70