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