mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
c3da2c19e4
Allow to select specific documentation components, and reliably check for component dependencies. In particular, check for perl presence on the system.
76 lines
2.2 KiB
Makefile
76 lines
2.2 KiB
Makefile
MANPAGES = $(PROGS-yes:%=doc/%.1)
|
|
PODPAGES = $(PROGS-yes:%=doc/%.pod)
|
|
HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
|
|
doc/developer.html \
|
|
doc/faq.html \
|
|
doc/fate.html \
|
|
doc/general.html \
|
|
doc/git-howto.html \
|
|
doc/platform.html \
|
|
doc/syntax.html \
|
|
|
|
TXTPAGES = doc/fate.txt \
|
|
|
|
|
|
DOCS-$(CONFIG_HTMLPAGES) += $(HTMLPAGES)
|
|
DOCS-$(CONFIG_PODPAGES) += $(PODPAGES)
|
|
DOCS-$(CONFIG_MANPAGES) += $(MANPAGES)
|
|
DOCS-$(CONFIG_TXTPAGES) += $(TXTPAGES)
|
|
DOCS = $(DOCS-yes)
|
|
|
|
all-$(CONFIG_DOC): documentation
|
|
|
|
documentation: $(DOCS)
|
|
|
|
TEXIDEP = awk '/^@(verbatim)?include/ { printf "$@: $(@D)/%s\n", $$2 }' <$< >$(@:%=%.d)
|
|
|
|
doc/%.txt: TAG = TXT
|
|
doc/%.txt: doc/%.texi
|
|
$(Q)$(TEXIDEP)
|
|
$(M)makeinfo --force --no-headers -o $@ $< 2>/dev/null
|
|
|
|
GENTEXI = format codec
|
|
GENTEXI := $(GENTEXI:%=doc/avoptions_%.texi)
|
|
|
|
$(GENTEXI): TAG = GENTEXI
|
|
$(GENTEXI): doc/avoptions_%.texi: doc/print_options$(HOSTEXESUF)
|
|
$(M)doc/print_options $* > $@
|
|
|
|
doc/%.html: TAG = HTML
|
|
doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
|
|
$(Q)$(TEXIDEP)
|
|
$(M)texi2html -I doc -monolithic --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
|
|
|
|
doc/%.pod: TAG = POD
|
|
doc/%.pod: doc/%.texi $(GENTEXI)
|
|
$(Q)$(TEXIDEP)
|
|
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@
|
|
|
|
doc/%.1: TAG = MAN
|
|
doc/%.1: doc/%.pod $(GENTEXI)
|
|
$(M)pod2man --section=1 --center=" " --release=" " $< > $@
|
|
|
|
$(DOCS): | doc/
|
|
|
|
install-man:
|
|
|
|
ifdef CONFIG_MANPAGES
|
|
install-progs-$(CONFIG_DOC): install-man
|
|
|
|
install-man: $(MANPAGES)
|
|
$(Q)mkdir -p "$(MANDIR)/man1"
|
|
$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"
|
|
endif
|
|
|
|
uninstall: uninstall-man
|
|
|
|
uninstall-man:
|
|
$(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
|
|
|
|
clean::
|
|
$(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
|
|
|
|
-include $(wildcard $(DOCS:%=%.d))
|
|
|
|
.PHONY: documentation
|