Mauro Carvalho Chehab | bf5bfe8 | 2016-11-30 08:00:18 -0200 | [diff] [blame^] | 1 | # Rules to convert DOT and SVG to Sphinx images |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 2 | |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 3 | SRC_DIR=$(srctree)/Documentation/media |
| 4 | |
Mauro Carvalho Chehab | ec868e4 | 2016-11-30 08:00:17 -0200 | [diff] [blame] | 5 | DOTS = \ |
| 6 | uapi/v4l/pipeline.dot \ |
| 7 | |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 8 | IMAGES = \ |
| 9 | typical_media_device.svg \ |
| 10 | uapi/dvb/dvbstb.svg \ |
Mauro Carvalho Chehab | ffbdad9 | 2016-11-30 08:00:16 -0200 | [diff] [blame] | 11 | uapi/v4l/bayer.svg \ |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 12 | uapi/v4l/constraints.svg \ |
Mauro Carvalho Chehab | 76cf11a | 2016-11-30 08:00:11 -0200 | [diff] [blame] | 13 | uapi/v4l/crop.svg \ |
| 14 | uapi/v4l/fieldseq_bt.svg \ |
| 15 | uapi/v4l/fieldseq_tb.svg \ |
Mauro Carvalho Chehab | 2bd658d | 2016-11-30 08:00:13 -0200 | [diff] [blame] | 16 | uapi/v4l/nv12mt.svg \ |
| 17 | uapi/v4l/nv12mt_example.svg \ |
Mauro Carvalho Chehab | 394709d | 2016-11-30 08:00:14 -0200 | [diff] [blame] | 18 | uapi/v4l/pipeline.svg \ |
Mauro Carvalho Chehab | 86e6808 | 2016-11-30 08:00:15 -0200 | [diff] [blame] | 19 | uapi/v4l/selection.svg \ |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 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 \ |
Mauro Carvalho Chehab | 76cf11a | 2016-11-30 08:00:11 -0200 | [diff] [blame] | 23 | uapi/v4l/vbi_525.svg \ |
| 24 | uapi/v4l/vbi_625.svg \ |
| 25 | uapi/v4l/vbi_hsync.svg \ |
| 26 | |
Mauro Carvalho Chehab | ec868e4 | 2016-11-30 08:00:17 -0200 | [diff] [blame] | 27 | DOTTGT := $(patsubst %.dot,%.svg,$(DOTS)) |
| 28 | IMGDOT := $(patsubst %,$(SRC_DIR)/%,$(DOTTGT)) |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 29 | |
Mauro Carvalho Chehab | ec868e4 | 2016-11-30 08:00:17 -0200 | [diff] [blame] | 30 | IMGTGT := $(patsubst %.svg,%.pdf,$(IMAGES)) |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 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 | |
Mauro Carvalho Chehab | ec868e4 | 2016-11-30 08:00:17 -0200 | [diff] [blame] | 38 | quiet_cmd_gendot = DOT $2 |
| 39 | cmd_gendot = dot -Tsvg $2 > $3 |
| 40 | |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 41 | %.pdf: %.svg |
| 42 | @$(call cmd,genpdf,$<,$@) |
| 43 | |
Mauro Carvalho Chehab | ec868e4 | 2016-11-30 08:00:17 -0200 | [diff] [blame] | 44 | %.svg: %.dot |
| 45 | @$(call cmd,gendot,$<,$@) |
| 46 | |
Mauro Carvalho Chehab | bf5bfe8 | 2016-11-30 08:00:18 -0200 | [diff] [blame^] | 47 | # Rules to convert a .h file to inline RST documentation |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 48 | |
Mauro Carvalho Chehab | bf5bfe8 | 2016-11-30 08:00:18 -0200 | [diff] [blame^] | 49 | PARSER = $(srctree)/Documentation/sphinx/parse-headers.pl |
| 50 | UAPI = $(srctree)/include/uapi/linux |
| 51 | KAPI = $(srctree)/include/linux |
Mauro Carvalho Chehab | 15a04d4 | 2016-11-14 14:32:32 -0200 | [diff] [blame] | 52 | |
Mauro Carvalho Chehab | bf5bfe8 | 2016-11-30 08:00:18 -0200 | [diff] [blame^] | 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 |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 55 | |
Mauro Carvalho Chehab | bf5bfe8 | 2016-11-30 08:00:18 -0200 | [diff] [blame^] | 56 | TARGETS := $(addprefix $(BUILDDIR)/, $(FILES)) |
Mauro Carvalho Chehab | 60c2820 | 2016-07-08 11:40:06 -0300 | [diff] [blame] | 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 | |
Mauro Carvalho Chehab | d2c6815 | 2016-07-09 08:54:35 -0300 | [diff] [blame] | 88 | $(BUILDDIR)/media.h.rst: ${UAPI}/media.h ${PARSER} $(SRC_DIR)/media.h.rst.exceptions |
| 89 | @$($(quiet)gen_rst) |
| 90 | |
Mauro Carvalho Chehab | 96f69e0 | 2016-07-09 10:25:05 -0300 | [diff] [blame] | 91 | $(BUILDDIR)/cec.h.rst: ${KAPI}/cec.h ${PARSER} $(SRC_DIR)/cec.h.rst.exceptions |
| 92 | @$($(quiet)gen_rst) |
| 93 | |
Mauro Carvalho Chehab | 68cd5e0 | 2016-07-10 07:18:52 -0300 | [diff] [blame] | 94 | $(BUILDDIR)/lirc.h.rst: ${UAPI}/lirc.h ${PARSER} $(SRC_DIR)/lirc.h.rst.exceptions |
| 95 | @$($(quiet)gen_rst) |
Mauro Carvalho Chehab | bf5bfe8 | 2016-11-30 08:00:18 -0200 | [diff] [blame^] | 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) $(patsubst %,$(SRC_DIR)/%,${TARGETS}) 2>/dev/null |
| 109 | |
| 110 | $(BUILDDIR): |
| 111 | $(Q)mkdir -p $@ |