Browse Source

doc-rst: linux_tv/Makefile: Honor quiet mode

Cleanup the Makefile and handle the V=1 flag and make it
to work when specifying an output directory with O=dir

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Mauro Carvalho Chehab 9 years ago
parent
commit
573720f07b
2 changed files with 33 additions and 18 deletions
  1. 1 1
      Documentation/Makefile.sphinx
  2. 32 17
      Documentation/linux_tv/Makefile

+ 1 - 1
Documentation/Makefile.sphinx

@@ -35,7 +35,7 @@ quiet_cmd_sphinx = SPHINX  $@
       cmd_sphinx = $(SPHINXBUILD) -b $2 $(ALLSPHINXOPTS) $(BUILDDIR)/$2
 
 htmldocs:
-	$(MAKE) -C $(srctree)/Documentation/linux_tv $@
+	$(MAKE) BUILDDIR=$(objtree)/$(BUILDDIR) -f $(srctree)/Documentation/linux_tv/Makefile $@
 	$(call cmd,sphinx,html)
 
 pdfdocs:

+ 32 - 17
Documentation/linux_tv/Makefile

@@ -1,32 +1,47 @@
 # Generate the *.h.rst files from uAPI headers
 
-PARSER = ../sphinx/parse-headers.pl
-UAPI = ../../include/uapi/linux
-TARGETS = audio.h.rst ca.h.rst dmx.h.rst frontend.h.rst net.h.rst video.h.rst \
+PARSER = $(srctree)/Documentation/sphinx/parse-headers.pl
+UAPI = $(srctree)/include/uapi/linux
+SRC_DIR=$(srctree)/Documentation/linux_tv
+
+FILES = audio.h.rst ca.h.rst dmx.h.rst frontend.h.rst net.h.rst video.h.rst \
 	  videodev2.h.rst
 
+TARGETS := $(addprefix $(BUILDDIR)/, $(FILES))
+
 htmldocs: ${TARGETS}
 
-audio.h.rst: ${PARSER} ${UAPI}/dvb/audio.h  audio.h.rst.exceptions
-	${PARSER} ${UAPI}/dvb/audio.h $@ audio.h.rst.exceptions
+# Rule to convert a .h file to inline RST documentation
+
+gen_rst = \
+	echo ${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions; \
+	${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
+
+quiet_gen_rst = echo '  PARSE   $(patsubst $(srctree)/%,%,$<)'; \
+	${PARSER} $< $@ $(SRC_DIR)/$(notdir $@).exceptions
+
+silent_gen_rst = ${gen_rst}
+
+$(BUILDDIR)/audio.h.rst: ${UAPI}/dvb/audio.h ${PARSER} $(SRC_DIR)/audio.h.rst.exceptions
+	@$($(quiet)gen_rst)
 
-ca.h.rst: ${PARSER} ${UAPI}/dvb/ca.h  ca.h.rst.exceptions
-	${PARSER} ${UAPI}/dvb/ca.h $@ ca.h.rst.exceptions
+$(BUILDDIR)/ca.h.rst: ${UAPI}/dvb/ca.h ${PARSER} $(SRC_DIR)/ca.h.rst.exceptions
+	@$($(quiet)gen_rst)
 
-dmx.h.rst: ${PARSER} ${UAPI}/dvb/dmx.h  dmx.h.rst.exceptions
-	${PARSER} ${UAPI}/dvb/dmx.h $@ dmx.h.rst.exceptions
+$(BUILDDIR)/dmx.h.rst: ${UAPI}/dvb/dmx.h ${PARSER} $(SRC_DIR)/dmx.h.rst.exceptions
+	@$($(quiet)gen_rst)
 
-frontend.h.rst: ${PARSER} ${UAPI}/dvb/frontend.h  frontend.h.rst.exceptions
-	${PARSER} ${UAPI}/dvb/frontend.h $@ frontend.h.rst.exceptions
+$(BUILDDIR)/frontend.h.rst: ${UAPI}/dvb/frontend.h ${PARSER} $(SRC_DIR)/frontend.h.rst.exceptions
+	@$($(quiet)gen_rst)
 
-net.h.rst: ${PARSER} ${UAPI}/dvb/net.h  net.h.rst.exceptions
-	${PARSER} ${UAPI}/dvb/net.h $@ net.h.rst.exceptions
+$(BUILDDIR)/net.h.rst: ${UAPI}/dvb/net.h ${PARSER} $(SRC_DIR)/net.h.rst.exceptions
+	@$($(quiet)gen_rst)
 
-video.h.rst: ${PARSER} ${UAPI}/dvb/video.h  video.h.rst.exceptions
-	${PARSER} ${UAPI}/dvb/video.h $@ video.h.rst.exceptions
+$(BUILDDIR)/video.h.rst: ${UAPI}/dvb/video.h ${PARSER} $(SRC_DIR)/video.h.rst.exceptions
+	@$($(quiet)gen_rst)
 
-videodev2.h.rst: ${UAPI}/videodev2.h ${PARSER} videodev2.h.rst.exceptions
-	${PARSER} ${UAPI}/videodev2.h $@ videodev2.h.rst.exceptions
+videodev2.h.rst: ${UAPI}/videodev2.h ${PARSER} $(SRC_DIR)/videodev2.h.rst.exceptions
+	@$($(quiet)gen_rst)
 
 cleandocs:
 	-rm ${TARGETS}