X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=doc%2FMakefile;h=43e463207ea965f574d26c63c10ebc7fe744196d;hb=358628074c314c8ec6d433a740e9176e7aefa124;hp=d472dc32970fe7c0e08a4784da14436729c2eaaa;hpb=cf41e667362085e6b62130c1c247b6cd6c8b80fe;p=ffmpeg diff --git a/doc/Makefile b/doc/Makefile index d472dc32970..43e463207ea 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,14 +1,65 @@ -all: ffmpeg-doc.html faq.html ffserver-doc.html ffplay-doc.html hooks.html \ - ffmpeg.1 ffserver.1 ffplay.1 +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/libavfilter.html \ + doc/nut.html \ + doc/platform.html \ -%.html: %.texi Makefile - texi2html -monolithic -number $< +DOCS = $(HTMLPAGES) $(MANPAGES) $(PODPAGES) -%.pod: %-doc.texi - ./texi2pod.pl $< $@ +all-$(CONFIG_DOC): documentation -%.1: %.pod - pod2man --section=1 --center=" " --release=" " $< > $@ +apidoc: doc/doxy/html +documentation: $(DOCS) -clean: - rm -f *.html *.pod *.1 +TEXIDEP = awk '/^@include/ { printf "$@: $(@D)/%s\n", $$2 }' <$< >$(@:%=%.d) + +GENTEXI = format codec +GENTEXI := $(GENTEXI:%=doc/avoptions_%.texi) + +$(GENTEXI): TAG = GENTEXI +$(GENTEXI): doc/avoptions_%.texi: doc/print_options + $(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 $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI) + $(Q)$(TEXIDEP) + $(M)$(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@ + +doc/%.1: TAG = MAN +doc/%.1: doc/%.pod $(GENTEXI) + $(M)pod2man --section=1 --center=" " --release=" " $< > $@ + +$(DOCS) doc/doxy/html: | doc/ + +doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(INSTHEADERS) + $(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $^ + +install-progs-$(CONFIG_DOC): install-man + +install-man: $(MANPAGES) + $(Q)mkdir -p "$(MANDIR)/man1" + $(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1" + +uninstall: uninstall-man + +uninstall-man: + $(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES)) + +clean:: + $(RM) doc/*.html doc/*.pod doc/*.1 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi + $(RM) -r doc/doxy/html + +-include $(wildcard $(DOCS:%=%.d)) + +.PHONY: apidoc documentation