1 # Generate the *.h.rst files from uAPI headers
3 PARSER = $(srctree)/Documentation/sphinx/parse-headers.pl
4 UAPI = $(srctree)/include/uapi/linux
5 KAPI = $(srctree)/include/linux
6 SRC_DIR=$(srctree)/Documentation/media
8 FILES = audio.h.rst ca.h.rst dmx.h.rst frontend.h.rst net.h.rst video.h.rst \
9 videodev2.h.rst media.h.rst cec.h.rst lirc.h.rst
11 TARGETS := $(addprefix $(BUILDDIR)/, $(FILES))
14 typical_media_device.svg \
16 uapi/v4l/constraints.svg \
17 uapi/v4l/subdev-image-processing-full.svg \
18 uapi/v4l/subdev-image-processing-scaling-multi-source.svg \
19 uapi/v4l/subdev-image-processing-crop.svg \
21 IMGTGT := $(patsubst %.png,%.pdf,$(patsubst %.svg,%.pdf,$(IMAGES)))
22 IMGPDF := $(patsubst %,$(SRC_DIR)/%,$(IMGTGT))
24 cmd = $(echo-cmd) $(cmd_$(1))
26 quiet_cmd_genpdf = GENPDF $2
27 cmd_genpdf = convert $2 $3
30 @$(call cmd,genpdf,$<,$@)
32 .PHONY: all html epub xml latex
34 all: $(BUILDDIR) ${TARGETS}
41 -rm -f $(IMGTGT) 2>/dev/null
46 # Rule to convert a .h file to inline RST documentation
49 echo ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions; \
50 ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
52 quiet_gen_rst = echo ' PARSE $(patsubst $(srctree)/%,%,$<)'; \
53 ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
55 silent_gen_rst = ${gen_rst}
57 $(BUILDDIR)/audio.h.rst: ${UAPI}/dvb/audio.h ${PARSER} $(SRC_DIR)/audio.h.rst.exceptions
60 $(BUILDDIR)/ca.h.rst: ${UAPI}/dvb/ca.h ${PARSER} $(SRC_DIR)/ca.h.rst.exceptions
63 $(BUILDDIR)/dmx.h.rst: ${UAPI}/dvb/dmx.h ${PARSER} $(SRC_DIR)/dmx.h.rst.exceptions
66 $(BUILDDIR)/frontend.h.rst: ${UAPI}/dvb/frontend.h ${PARSER} $(SRC_DIR)/frontend.h.rst.exceptions
69 $(BUILDDIR)/net.h.rst: ${UAPI}/dvb/net.h ${PARSER} $(SRC_DIR)/net.h.rst.exceptions
72 $(BUILDDIR)/video.h.rst: ${UAPI}/dvb/video.h ${PARSER} $(SRC_DIR)/video.h.rst.exceptions
75 $(BUILDDIR)/videodev2.h.rst: ${UAPI}/videodev2.h ${PARSER} $(SRC_DIR)/videodev2.h.rst.exceptions
78 $(BUILDDIR)/media.h.rst: ${UAPI}/media.h ${PARSER} $(SRC_DIR)/media.h.rst.exceptions
81 $(BUILDDIR)/cec.h.rst: ${KAPI}/cec.h ${PARSER} $(SRC_DIR)/cec.h.rst.exceptions
84 $(BUILDDIR)/lirc.h.rst: ${UAPI}/lirc.h ${PARSER} $(SRC_DIR)/lirc.h.rst.exceptions