ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Fri Sep 29 15:09:19 2017 -0300| [b25d6290c67e193b91becab12e6c88df134cee81] | committer: James Almer
Merge commit 'acb0dea27efff4b35796015b96570b59fd517078' * commit 'acb0dea27efff4b35796015b96570b59fd517078': build: Split logic for building examples off into a separate Makefile We already have a Makefile in doc/examples, but it's separate from the build system and meant to be installed as part of the documentation to help users compile the installed .c example files. Move it to Makefile.example to make place for the new build system Makefile. Merged-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b25d6290c67e193b91becab12e6c88df134cee81 --- Makefile | 8 ++-- doc/Makefile | 39 +----------------- doc/examples/Makefile | 94 ++++++++++++++++++++----------------------- doc/examples/Makefile.example | 50 +++++++++++++++++++++++ 4 files changed, 100 insertions(+), 91 deletions(-) diff --git a/Makefile b/Makefile index e4eb050226..43ce03130a 100644 --- a/Makefile +++ b/Makefile @@ -56,7 +56,6 @@ FFLIBS-$(CONFIG_SWSCALE) += swscale FFLIBS := avutil DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd -EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile $(SRC_PATH)/doc/examples/README SKIPHEADERS = compat/w32pthreads.h @@ -119,6 +118,7 @@ endef $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D)))) include $(SRC_PATH)/doc/Makefile +include $(SRC_PATH)/doc/examples/Makefile define DOPROG OBJS-$(1) += $(1).o $(OBJS-$(1)-yes) @@ -168,10 +168,11 @@ install-progs: install-progs-yes $(AVPROGS) $(Q)mkdir -p "$(BINDIR)" $(INSTALL) -c -m 755 $(INSTPROGS) "$(BINDIR)" -install-data: $(DATA_FILES) $(EXAMPLES_FILES) +install-data: $(DATA_FILES) $(EXAMPLES_FILES) $(EXAMPLE_MAKEFILE) $(Q)mkdir -p "$(DATADIR)/examples" $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)" $(INSTALL) -m 644 $(EXAMPLES_FILES) "$(DATADIR)/examples" + $(INSTALL) -m 644 -T $(EXAMPLE_MAKEFILE:%=%.example) "$(DATADIR)/examples/Makefile" uninstall: uninstall-libs uninstall-headers uninstall-progs uninstall-data @@ -219,5 +220,4 @@ $(sort $(OBJDIRS)): # so this saves some time on slow systems. .SUFFIXES: -.PHONY: all all-yes alltools check *clean config install* -.PHONY: testprogs uninstall* +.PHONY: all all-yes alltools check *clean config install* testprogs uninstall* diff --git a/doc/Makefile b/doc/Makefile index ce6ecfaef2..bcde309878 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -36,33 +36,6 @@ DOCS-$(CONFIG_MANPAGES) += $(MANPAGES) DOCS-$(CONFIG_TXTPAGES) += $(TXTPAGES) DOCS = $(DOCS-yes) -DOC_EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE) += avio_dir_cmd -DOC_EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE) += avio_reading -DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE) += decode_audio -DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE) += decode_video -DOC_EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding -DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE) += encode_audio -DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE) += encode_video -DOC_EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE) += extract_mvs -DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio -DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE) += filtering_audio -DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE) += filtering_video -DOC_EXAMPLES-$(CONFIG_HTTP_MULTICLIENT_EXAMPLE) += http_multiclient -DOC_EXAMPLES-$(CONFIG_HW_DECODE_EXAMPLE) += hw_decode -DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata -DOC_EXAMPLES-$(CONFIG_MUXING_EXAMPLE) += muxing -DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE) += qsvdec -DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE) += remuxing -DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE) += resampling_audio -DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video -DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac -DOC_EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE) += transcoding - -DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF)) -ALL_DOC_EXAMPLES := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)$(EXESUF)) -ALL_DOC_EXAMPLES_G := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)_g$(EXESUF)) -PROGS += $(DOC_EXAMPLES) - all-$(CONFIG_DOC): doc doc: documentation @@ -70,8 +43,6 @@ doc: documentation apidoc: doc/doxy/html documentation: $(DOCS) -examples: $(DOC_EXAMPLES) - TEXIDEP = perl $(SRC_PATH)/doc/texidep.pl $(SRC_PATH) $< $@ >$(@:%=%.d) doc/%.txt: TAG = TXT @@ -124,10 +95,8 @@ doc/%.3: doc/%.pod $(GENTEXI) $(M)pod2man --section=3 --center=" " --release=" " --date=" " $< > $@ $(DOCS) doc/doxy/html: | doc/ -$(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples -OBJDIRS += doc/examples -DOXY_INPUT = $(INSTHEADERS) $(DOC_EXAMPLES:%$(EXESUF)=%.c) +DOXY_INPUT = $(INSTHEADERS) DOXY_INPUT_DEPS = $(addprefix $(SRC_PATH)/, $(DOXY_INPUT)) ffbuild/config.mak doc/doxy/html: TAG = DOXY @@ -174,11 +143,7 @@ clean:: docclean distclean:: docclean $(RM) doc/config.texi -examplesclean: - $(RM) $(ALL_DOC_EXAMPLES) $(ALL_DOC_EXAMPLES_G) - $(RM) $(CLEANSUFFIXES:%=doc/examples/%) - -docclean: examplesclean +docclean:: $(RM) $(CLEANSUFFIXES:%=doc/%) $(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 doc/avoptions_*.texi $(RM) -r doc/doxy/html diff --git a/doc/examples/Makefile b/doc/examples/Makefile index 6428154c51..277d4b0a18 100644 --- a/doc/examples/Makefile +++ b/doc/examples/Makefile @@ -1,50 +1,44 @@ -# use pkg-config for getting CFLAGS and LDLIBS -FFMPEG_LIBS= libavdevice \ - libavformat \ - libavfilter \ - libavcodec \ - libswresample \ - libswscale \ - libavutil \ - -CFLAGS += -Wall -g -CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS) -LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS) - -EXAMPLES= avio_dir_cmd \ - avio_reading \ - decode_audio \ - decode_video \ - demuxing_decoding \ - encode_audio \ - encode_video \ - extract_mvs \ - filtering_video \ - filtering_audio \ - http_multiclient \ - hw_decode \ - metadata \ - muxing \ - remuxing \ - resampling_audio \ - scaling_video \ - transcode_aac \ - transcoding \ - -OBJS=$(addsuffix .o,$(EXAMPLES)) - -# the following examples make explicit use of the math library -avcodec: LDLIBS += -lm -encode_audio: LDLIBS += -lm -muxing: LDLIBS += -lm -resampling_audio: LDLIBS += -lm - -.phony: all clean-test clean - -all: $(OBJS) $(EXAMPLES) - -clean-test: - $(RM) test*.pgm test.h264 test.mp2 test.sw test.mpg - -clean: clean-test - $(RM) $(EXAMPLES) $(OBJS) +DOC_EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE) += avio_dir_cmd +DOC_EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE) += avio_reading +DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE) += decode_audio +DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE) += decode_video +DOC_EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding +DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE) += encode_audio +DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE) += encode_video +DOC_EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE) += extract_mvs +DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio +DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE) += filtering_audio +DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE) += filtering_video +DOC_EXAMPLES-$(CONFIG_HTTP_MULTICLIENT_EXAMPLE) += http_multiclient +DOC_EXAMPLES-$(CONFIG_HW_DECODE_EXAMPLE) += hw_decode +DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata +DOC_EXAMPLES-$(CONFIG_MUXING_EXAMPLE) += muxing +DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE) += qsvdec +DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE) += remuxing +DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE) += resampling_audio +DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video +DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac +DOC_EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE) += transcoding + +DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF)) +ALL_DOC_EXAMPLES := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)$(EXESUF)) +ALL_DOC_EXAMPLES_G := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)_g$(EXESUF)) +PROGS += $(DOC_EXAMPLES) + +EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/README +EXAMPLE_MAKEFILE := $(SRC_PATH)/doc/examples/Makefile + +examples: $(DOC_EXAMPLES) + +$(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples +OBJDIRS += doc/examples + +DOXY_INPUT += $(DOC_EXAMPLES:%$(EXESUF)=%.c) + +examplesclean: + $(RM) $(ALL_DOC_EXAMPLES) $(ALL_DOC_EXAMPLES_G) + $(RM) $(CLEANSUFFIXES:%=doc/examples/%) + +docclean:: examplesclean + +.PHONY: examples diff --git a/doc/examples/Makefile.example b/doc/examples/Makefile.example new file mode 100644 index 0000000000..6428154c51 --- /dev/null +++ b/doc/examples/Makefile.example @@ -0,0 +1,50 @@ +# use pkg-config for getting CFLAGS and LDLIBS +FFMPEG_LIBS= libavdevice \ + libavformat \ + libavfilter \ + libavcodec \ + libswresample \ + libswscale \ + libavutil \ + +CFLAGS += -Wall -g +CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS) +LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS) + +EXAMPLES= avio_dir_cmd \ + avio_reading \ + decode_audio \ + decode_video \ + demuxing_decoding \ + encode_audio \ + encode_video \ + extract_mvs \ + filtering_video \ + filtering_audio \ + http_multiclient \ + hw_decode \ + metadata \ + muxing \ + remuxing \ + resampling_audio \ + scaling_video \ + transcode_aac \ + transcoding \ + +OBJS=$(addsuffix .o,$(EXAMPLES)) + +# the following examples make explicit use of the math library +avcodec: LDLIBS += -lm +encode_audio: LDLIBS += -lm +muxing: LDLIBS += -lm +resampling_audio: LDLIBS += -lm + +.phony: all clean-test clean + +all: $(OBJS) $(EXAMPLES) + +clean-test: + $(RM) test*.pgm test.h264 test.mp2 test.sw test.mpg + +clean: clean-test + $(RM) $(EXAMPLES) $(OBJS) ====================================================================== diff --cc Makefile index e4eb050226,c96e07916d..43ce03130a --- a/Makefile +++ b/Makefile @@@ -55,8 -101,7 +55,7 @@@ FFLIBS-$(CONFIG_SWSCALE) += swscal FFLIBS := avutil -DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.avpreset) +DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd - EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile $(SRC_PATH)/doc/examples/README SKIPHEADERS = compat/w32pthreads.h @@@ -166,12 -197,11 +166,13 @@@ install-progs-$(CONFIG_SHARED): install install-progs: install-progs-yes $(AVPROGS) $(Q)mkdir -p "$(BINDIR)" - $(INSTALL) -c -m 755 $(AVPROGS) "$(BINDIR)" + $(INSTALL) -c -m 755 $(INSTPROGS) "$(BINDIR)" - install-data: $(DATA_FILES) $(EXAMPLES_FILES) -install-data: $(DATA_FILES) - $(Q)mkdir -p "$(DATADIR)" ++install-data: $(DATA_FILES) $(EXAMPLES_FILES) $(EXAMPLE_MAKEFILE) + $(Q)mkdir -p "$(DATADIR)/examples" $(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)" + $(INSTALL) -m 644 $(EXAMPLES_FILES) "$(DATADIR)/examples" ++ $(INSTALL) -m 644 -T $(EXAMPLE_MAKEFILE:%=%.example) "$(DATADIR)/examples/Makefile" uninstall: uninstall-libs uninstall-headers uninstall-progs uninstall-data diff --cc doc/Makefile index ce6ecfaef2,381eca9c01..bcde309878 --- a/doc/Makefile +++ b/doc/Makefile @@@ -27,57 -11,17 +27,28 @@@ HTMLPAGES = $(AVPROGS-yes:%=doc/%.htm doc/nut.html \ doc/platform.html \ -DOCS-$(CONFIG_POD2MAN) += $(MANPAGES) $(PODPAGES) -DOCS-$(CONFIG_TEXI2HTML) += $(HTMLPAGES) +TXTPAGES = doc/fate.txt \ + + +DOCS-$(CONFIG_HTMLPAGES) += $(HTMLPAGES) +DOCS-$(CONFIG_PODPAGES) += $(PODPAGES) +DOCS-$(CONFIG_MANPAGES) += $(MANPAGES) +DOCS-$(CONFIG_TXTPAGES) += $(TXTPAGES) DOCS = $(DOCS-yes) - DOC_EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE) += avio_dir_cmd - DOC_EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE) += avio_reading - DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE) += decode_audio - DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE) += decode_video - DOC_EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding - DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE) += encode_audio - DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE) += encode_video - DOC_EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE) += extract_mvs - DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio - DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE) += filtering_audio - DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE) += filtering_video - DOC_EXAMPLES-$(CONFIG_HTTP_MULTICLIENT_EXAMPLE) += http_multiclient - DOC_EXAMPLES-$(CONFIG_HW_DECODE_EXAMPLE) += hw_decode - DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata - DOC_EXAMPLES-$(CONFIG_MUXING_EXAMPLE) += muxing - DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE) += qsvdec - DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE) += remuxing - DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE) += resampling_audio - DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video - DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac - DOC_EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE) += transcoding - - DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF)) - ALL_DOC_EXAMPLES := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)$(EXESUF)) - ALL_DOC_EXAMPLES_G := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)_g$(EXESUF)) - PROGS += $(DOC_EXAMPLES) - -all: $(DOCS) +all-$(CONFIG_DOC): doc + +doc: documentation apidoc: doc/doxy/html documentation: $(DOCS) - examples: $(DOC_EXAMPLES) - -TEXIDEP = awk '/^@include/ { printf "$@: $(@D)/%s\n", $$2 }' <$< >$(@:%=%.d) +TEXIDEP = perl $(SRC_PATH)/doc/texidep.pl $(SRC_PATH) $< $@ >$(@:%=%.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) @@@ -87,69 -33,34 +58,67 @@@ $(GENTEXI): doc/avoptions_%.texi: doc/p $(M)doc/print_options $* > $@ doc/%.html: TAG = HTML -doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init +doc/%-all.html: TAG = HTML + +ifdef HAVE_MAKEINFO_HTML +doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI) $(Q)$(TEXIDEP) - $(M)texi2html -I doc -monolithic --init-file $(SRC_PATH)/doc/t2h.init --output $@ $< + $(M)makeinfo --html -I doc --no-split -D config-not-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $< + +doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI) + $(Q)$(TEXIDEP) + $(M)makeinfo --html -I doc --no-split -D config-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $< +else +doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI) + $(Q)$(TEXIDEP) + $(M)texi2html -I doc -monolithic --D=config-not-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $< + +doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI) + $(Q)$(TEXIDEP) + $(M)texi2html -I doc -monolithic --D=config-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $< +endif doc/%.pod: TAG = POD -doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl +doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI) + $(Q)$(TEXIDEP) + $(M)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-not-all=yes -Idoc $< $@ + +doc/%-all.pod: TAG = POD +doc/%-all.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI) $(Q)$(TEXIDEP) - $(M)$(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@ + $(M)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-all=yes -Idoc $< $@ -doc/%.1: TAG = MAN -doc/%.1: doc/%.pod - $(M)pod2man --section=1 --center=" " --release=" " $< > $@ +doc/%.1 doc/%.3: TAG = MAN +doc/%.1: doc/%.pod $(GENTEXI) + $(M)pod2man --section=1 --center=" " --release=" " --date=" " $< > $@ +doc/%.3: doc/%.pod $(GENTEXI) + $(M)pod2man --section=3 --center=" " --release=" " --date=" " $< > $@ $(DOCS) doc/doxy/html: | doc/ - $(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples - OBJDIRS += doc/examples - DOXY_INPUT = $(INSTHEADERS) $(DOC_EXAMPLES:%$(EXESUF)=%.c) -DOXY_INPUT = $(addprefix $(SRC_PATH)/, $(INSTHEADERS)) -DOXY_TEMPLATES = doxy_stylesheet.css footer.html header.html -DOXY_TEMPLATES := $(addprefix $(SRC_PATH)/doc/doxy/, $(DOXY_TEMPLATES)) ++DOXY_INPUT = $(INSTHEADERS) +DOXY_INPUT_DEPS = $(addprefix $(SRC_PATH)/, $(DOXY_INPUT)) ffbuild/config.mak + +doc/doxy/html: TAG = DOXY +doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(SRC_PATH)/doc/doxy-wrapper.sh $(DOXY_INPUT_DEPS) + $(M)OUT_DIR=$$PWD/doc/doxy; cd $(SRC_PATH); ./doc/doxy-wrapper.sh $$OUT_DIR $< $(DOXYGEN) $(DOXY_INPUT); + +install-doc: install-html install-man -doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(DOXY_INPUT) $(DOXY_TEMPLATES) - $(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $< $(DOXY_INPUT) +install-html: -install-progs-$(CONFIG_POD2MAN): install-man -install-progs-$(CONFIG_TEXI2HTML): install-doc +install-man: -install-doc: $(HTMLPAGES) +ifdef CONFIG_HTMLPAGES +install-progs-$(CONFIG_DOC): install-html + +install-html: $(HTMLPAGES) $(Q)mkdir -p "$(DOCDIR)" $(INSTALL) -m 644 $(HTMLPAGES) "$(DOCDIR)" +endif + +ifdef CONFIG_MANPAGES +install-progs-$(CONFIG_DOC): install-man install-man: $(MANPAGES) $(Q)mkdir -p "$(MANDIR)/man1" @@@ -166,21 -72,11 +135,17 @@@ uninstall-html $(RM) -r "$(DOCDIR)" uninstall-man: - $(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES)) + $(RM) $(addprefix "$(MANDIR)/man1/",$(AVPROGS-yes:%=%.1) $(AVPROGS-yes:%=%-all.1) $(COMPONENTS-yes:%=%.1)) + $(RM) $(addprefix "$(MANDIR)/man3/",$(LIBRARIES-yes:%=%.3)) + +clean:: docclean + +distclean:: docclean + $(RM) doc/config.texi - examplesclean: - $(RM) $(ALL_DOC_EXAMPLES) $(ALL_DOC_EXAMPLES_G) - $(RM) $(CLEANSUFFIXES:%=doc/examples/%) - - docclean: examplesclean -clean:: ++docclean:: $(RM) $(CLEANSUFFIXES:%=doc/%) - $(RM) doc/*.html doc/*.pod doc/*.1 doc/avoptions_*.texi + $(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 doc/avoptions_*.texi $(RM) -r doc/doxy/html -include $(wildcard $(DOCS:%=%.d)) diff --cc doc/examples/Makefile index 6428154c51,b24ca28aff..277d4b0a18 --- a/doc/examples/Makefile +++ b/doc/examples/Makefile @@@ -1,50 -1,26 +1,44 @@@ - # use pkg-config for getting CFLAGS and LDLIBS - FFMPEG_LIBS= libavdevice \ - libavformat \ - libavfilter \ - libavcodec \ - libswresample \ - libswscale \ - libavutil \ - - CFLAGS += -Wall -g - CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS) - LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS) - - EXAMPLES= avio_dir_cmd \ - avio_reading \ - decode_audio \ - decode_video \ - demuxing_decoding \ - encode_audio \ - encode_video \ - extract_mvs \ - filtering_video \ - filtering_audio \ - http_multiclient \ - hw_decode \ - metadata \ - muxing \ - remuxing \ - resampling_audio \ - scaling_video \ - transcode_aac \ - transcoding \ - - OBJS=$(addsuffix .o,$(EXAMPLES)) - - # the following examples make explicit use of the math library - avcodec: LDLIBS += -lm - encode_audio: LDLIBS += -lm - muxing: LDLIBS += -lm - resampling_audio: LDLIBS += -lm - - .phony: all clean-test clean - - all: $(OBJS) $(EXAMPLES) - - clean-test: - $(RM) test*.pgm test.h264 test.mp2 test.sw test.mpg -DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE) += decode_audio -DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE) += decode_video -DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE) += encode_audio -DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE) += encode_video -DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio -DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata -DOC_EXAMPLES-$(CONFIG_OUTPUT_EXAMPLE) += output -DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE) += qsvdec -DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac -- - clean: clean-test - $(RM) $(EXAMPLES) $(OBJS) -DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(EXESUF)) -ALL_DOC_EXAMPLES := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(EXESUF)) -PROGS += $(DOC_EXAMPLES) ++DOC_EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE) += avio_dir_cmd ++DOC_EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE) += avio_reading ++DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE) += decode_audio ++DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE) += decode_video ++DOC_EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding ++DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE) += encode_audio ++DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE) += encode_video ++DOC_EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE) += extract_mvs ++DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio ++DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE) += filtering_audio ++DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE) += filtering_video ++DOC_EXAMPLES-$(CONFIG_HTTP_MULTICLIENT_EXAMPLE) += http_multiclient ++DOC_EXAMPLES-$(CONFIG_HW_DECODE_EXAMPLE) += hw_decode ++DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata ++DOC_EXAMPLES-$(CONFIG_MUXING_EXAMPLE) += muxing ++DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE) += qsvdec ++DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE) += remuxing ++DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE) += resampling_audio ++DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video ++DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac ++DOC_EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE) += transcoding ++ ++DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF)) ++ALL_DOC_EXAMPLES := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)$(EXESUF)) ++ALL_DOC_EXAMPLES_G := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)_g$(EXESUF)) ++PROGS += $(DOC_EXAMPLES) ++ ++EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/README ++EXAMPLE_MAKEFILE := $(SRC_PATH)/doc/examples/Makefile + + examples: $(DOC_EXAMPLES) + + $(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples + OBJDIRS += doc/examples + -DOXY_INPUT += $(addprefix $(SRC_PATH)/, $(DOC_EXAMPLES:%$(EXESUF)=%.c)) ++DOXY_INPUT += $(DOC_EXAMPLES:%$(EXESUF)=%.c) + -clean:: - $(RM) $(ALL_DOC_EXAMPLES) ++examplesclean: ++ $(RM) $(ALL_DOC_EXAMPLES) $(ALL_DOC_EXAMPLES_G) + $(RM) $(CLEANSUFFIXES:%=doc/examples/%) + ++docclean:: examplesclean ++ + .PHONY: examples diff --cc doc/examples/Makefile.example index 0000000000,0000000000..6428154c51 new file mode 100644 --- /dev/null +++ b/doc/examples/Makefile.example @@@ -1,0 -1,0 +1,50 @@@ ++# use pkg-config for getting CFLAGS and LDLIBS ++FFMPEG_LIBS= libavdevice \ ++ libavformat \ ++ libavfilter \ ++ libavcodec \ ++ libswresample \ ++ libswscale \ ++ libavutil \ ++ ++CFLAGS += -Wall -g ++CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS) ++LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS) ++ ++EXAMPLES= avio_dir_cmd \ ++ avio_reading \ ++ decode_audio \ ++ decode_video \ ++ demuxing_decoding \ ++ encode_audio \ ++ encode_video \ ++ extract_mvs \ ++ filtering_video \ ++ filtering_audio \ ++ http_multiclient \ ++ hw_decode \ ++ metadata \ ++ muxing \ ++ remuxing \ ++ resampling_audio \ ++ scaling_video \ ++ transcode_aac \ ++ transcoding \ ++ ++OBJS=$(addsuffix .o,$(EXAMPLES)) ++ ++# the following examples make explicit use of the math library ++avcodec: LDLIBS += -lm ++encode_audio: LDLIBS += -lm ++muxing: LDLIBS += -lm ++resampling_audio: LDLIBS += -lm ++ ++.phony: all clean-test clean ++ ++all: $(OBJS) $(EXAMPLES) ++ ++clean-test: ++ $(RM) test*.pgm test.h264 test.mp2 test.sw test.mpg ++ ++clean: clean-test ++ $(RM) $(EXAMPLES) $(OBJS) _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog