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