Merge branch 'stable/for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel...
[platform/kernel/linux-exynos.git] / Documentation / media / Makefile
1 # Rules to convert DOT and SVG to Sphinx images
2
3 SRC_DIR=$(srctree)/Documentation/media
4
5 DOTS = \
6         uapi/v4l/pipeline.dot \
7
8 IMAGES = \
9         typical_media_device.svg \
10         uapi/dvb/dvbstb.svg \
11         uapi/v4l/bayer.svg \
12         uapi/v4l/constraints.svg \
13         uapi/v4l/crop.svg \
14         uapi/v4l/fieldseq_bt.svg \
15         uapi/v4l/fieldseq_tb.svg \
16         uapi/v4l/nv12mt.svg \
17         uapi/v4l/nv12mt_example.svg \
18         uapi/v4l/pipeline.svg \
19         uapi/v4l/selection.svg \
20         uapi/v4l/subdev-image-processing-full.svg \
21         uapi/v4l/subdev-image-processing-scaling-multi-source.svg \
22         uapi/v4l/subdev-image-processing-crop.svg \
23         uapi/v4l/vbi_525.svg \
24         uapi/v4l/vbi_625.svg \
25         uapi/v4l/vbi_hsync.svg \
26
27 DOTTGT := $(patsubst %.dot,%.svg,$(DOTS))
28 IMGDOT := $(patsubst %,$(SRC_DIR)/%,$(DOTTGT))
29
30 IMGTGT := $(patsubst %.svg,%.pdf,$(IMAGES))
31 IMGPDF := $(patsubst %,$(SRC_DIR)/%,$(IMGTGT))
32
33 cmd = $(echo-cmd) $(cmd_$(1))
34
35 quiet_cmd_genpdf = GENPDF  $2
36       cmd_genpdf = convert $2 $3
37
38 quiet_cmd_gendot = DOT     $2
39       cmd_gendot = dot -Tsvg $2 > $3
40
41 %.pdf: %.svg
42         @$(call cmd,genpdf,$<,$@)
43
44 %.svg: %.dot
45         @$(call cmd,gendot,$<,$@)
46
47 # Rules to convert a .h file to inline RST documentation
48
49 PARSER = $(srctree)/Documentation/sphinx/parse-headers.pl
50 UAPI = $(srctree)/include/uapi/linux
51 KAPI = $(srctree)/include/linux
52
53 FILES = audio.h.rst ca.h.rst dmx.h.rst frontend.h.rst net.h.rst video.h.rst \
54           videodev2.h.rst media.h.rst cec.h.rst lirc.h.rst
55
56 TARGETS := $(addprefix $(BUILDDIR)/, $(FILES))
57
58 gen_rst = \
59         echo ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions; \
60         ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
61
62 quiet_gen_rst = echo '  PARSE   $(patsubst $(srctree)/%,%,$<)'; \
63         ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
64
65 silent_gen_rst = ${gen_rst}
66
67 $(BUILDDIR)/audio.h.rst: ${UAPI}/dvb/audio.h ${PARSER} $(SRC_DIR)/audio.h.rst.exceptions
68         @$($(quiet)gen_rst)
69
70 $(BUILDDIR)/ca.h.rst: ${UAPI}/dvb/ca.h ${PARSER} $(SRC_DIR)/ca.h.rst.exceptions
71         @$($(quiet)gen_rst)
72
73 $(BUILDDIR)/dmx.h.rst: ${UAPI}/dvb/dmx.h ${PARSER} $(SRC_DIR)/dmx.h.rst.exceptions
74         @$($(quiet)gen_rst)
75
76 $(BUILDDIR)/frontend.h.rst: ${UAPI}/dvb/frontend.h ${PARSER} $(SRC_DIR)/frontend.h.rst.exceptions
77         @$($(quiet)gen_rst)
78
79 $(BUILDDIR)/net.h.rst: ${UAPI}/dvb/net.h ${PARSER} $(SRC_DIR)/net.h.rst.exceptions
80         @$($(quiet)gen_rst)
81
82 $(BUILDDIR)/video.h.rst: ${UAPI}/dvb/video.h ${PARSER} $(SRC_DIR)/video.h.rst.exceptions
83         @$($(quiet)gen_rst)
84
85 $(BUILDDIR)/videodev2.h.rst: ${UAPI}/videodev2.h ${PARSER} $(SRC_DIR)/videodev2.h.rst.exceptions
86         @$($(quiet)gen_rst)
87
88 $(BUILDDIR)/media.h.rst: ${UAPI}/media.h ${PARSER} $(SRC_DIR)/media.h.rst.exceptions
89         @$($(quiet)gen_rst)
90
91 $(BUILDDIR)/cec.h.rst: ${UAPI}/cec.h ${PARSER} $(SRC_DIR)/cec.h.rst.exceptions
92         @$($(quiet)gen_rst)
93
94 $(BUILDDIR)/lirc.h.rst: ${UAPI}/lirc.h ${PARSER} $(SRC_DIR)/lirc.h.rst.exceptions
95         @$($(quiet)gen_rst)
96
97 # Media build rules
98
99 .PHONY: all html epub xml latex
100
101 all: $(IMGDOT) $(BUILDDIR) ${TARGETS}
102 html: all
103 epub: all
104 xml: all
105 latex: $(IMGPDF) all
106
107 clean:
108         -rm -f $(DOTTGT) $(IMGTGT) ${TARGETS} 2>/dev/null
109
110 $(BUILDDIR):
111         $(Q)mkdir -p $@