]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - Documentation/media/Makefile
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livep...
[karo-tx-linux.git] / Documentation / media / Makefile
index a7fb35291f6c6148de9f051e49c8f7818f307fb8..4d8e2ff378c46c1b534c84ce1496164101be16c3 100644 (file)
@@ -1,23 +1,60 @@
-# Generate the *.h.rst files from uAPI headers
+# Rules to convert DOT and SVG to Sphinx images
+
+SRC_DIR=$(srctree)/Documentation/media
+
+DOTS = \
+       uapi/v4l/pipeline.dot \
+
+IMAGES = \
+       typical_media_device.svg \
+       uapi/dvb/dvbstb.svg \
+       uapi/v4l/bayer.svg \
+       uapi/v4l/constraints.svg \
+       uapi/v4l/crop.svg \
+       uapi/v4l/fieldseq_bt.svg \
+       uapi/v4l/fieldseq_tb.svg \
+       uapi/v4l/nv12mt.svg \
+       uapi/v4l/nv12mt_example.svg \
+       uapi/v4l/pipeline.svg \
+       uapi/v4l/selection.svg \
+       uapi/v4l/subdev-image-processing-full.svg \
+       uapi/v4l/subdev-image-processing-scaling-multi-source.svg \
+       uapi/v4l/subdev-image-processing-crop.svg \
+       uapi/v4l/vbi_525.svg \
+       uapi/v4l/vbi_625.svg \
+       uapi/v4l/vbi_hsync.svg \
+
+DOTTGT := $(patsubst %.dot,%.svg,$(DOTS))
+IMGDOT := $(patsubst %,$(SRC_DIR)/%,$(DOTTGT))
+
+IMGTGT := $(patsubst %.svg,%.pdf,$(IMAGES))
+IMGPDF := $(patsubst %,$(SRC_DIR)/%,$(IMGTGT))
+
+cmd = $(echo-cmd) $(cmd_$(1))
+
+quiet_cmd_genpdf = GENPDF  $2
+      cmd_genpdf = convert $2 $3
+
+quiet_cmd_gendot = DOT     $2
+      cmd_gendot = dot -Tsvg $2 > $3
+
+%.pdf: %.svg
+       @$(call cmd,genpdf,$<,$@)
+
+%.svg: %.dot
+       @$(call cmd,gendot,$<,$@)
+
+# Rules to convert a .h file to inline RST documentation
 
 PARSER = $(srctree)/Documentation/sphinx/parse-headers.pl
 UAPI = $(srctree)/include/uapi/linux
 KAPI = $(srctree)/include/linux
-SRC_DIR=$(srctree)/Documentation/media
 
 FILES = audio.h.rst ca.h.rst dmx.h.rst frontend.h.rst net.h.rst video.h.rst \
          videodev2.h.rst media.h.rst cec.h.rst lirc.h.rst
 
 TARGETS := $(addprefix $(BUILDDIR)/, $(FILES))
 
-.PHONY: all
-all: $(BUILDDIR) ${TARGETS}
-
-$(BUILDDIR):
-       $(Q)mkdir -p $@
-
-# Rule to convert a .h file to inline RST documentation
-
 gen_rst = \
        echo ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions; \
        ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
@@ -57,5 +94,18 @@ $(BUILDDIR)/cec.h.rst: ${KAPI}/cec.h ${PARSER} $(SRC_DIR)/cec.h.rst.exceptions
 $(BUILDDIR)/lirc.h.rst: ${UAPI}/lirc.h ${PARSER} $(SRC_DIR)/lirc.h.rst.exceptions
        @$($(quiet)gen_rst)
 
-cleandocs:
-       -rm ${TARGETS}
+# Media build rules
+
+.PHONY: all html epub xml latex
+
+all: $(IMGDOT) $(BUILDDIR) ${TARGETS}
+html: all
+epub: all
+xml: all
+latex: $(IMGPDF) all
+
+clean:
+       -rm -f $(DOTTGT) $(IMGTGT) ${TARGETS} 2>/dev/null
+
+$(BUILDDIR):
+       $(Q)mkdir -p $@