build: Integrate multilibrary examples into the build system

This includes moving libavformat/output-example to doc/examples/output.
This commit is contained in:
Diego Biurrun 2013-11-02 17:05:28 +01:00
parent 14abeaa43d
commit ab81f24ad4
5 changed files with 26 additions and 8 deletions

View File

@ -130,6 +130,8 @@ endef
$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
include $(SRC_PATH)/doc/Makefile
define DOPROG
OBJS-$(1) += $(1).o $(EXEOBJS) $(OBJS-$(1)-yes)
$(1)$(EXESUF): $$(OBJS-$(1))
@ -203,7 +205,6 @@ config:
check: all alltools checkheaders examples testprogs fate
include $(SRC_PATH)/doc/Makefile
include $(SRC_PATH)/tests/Makefile
$(sort $(OBJDIRS)):

10
configure vendored
View File

@ -1041,6 +1041,10 @@ COMPONENT_LIST="
protocols
"
EXAMPLE_LIST="
output_example
"
EXTERNAL_LIBRARY_LIST="
avisynth
bzlib
@ -1102,6 +1106,7 @@ PROGRAM_LIST="
CONFIG_LIST="
$COMPONENT_LIST
$EXAMPLE_LIST
$EXTERNAL_LIBRARY_LIST
$HWACCEL_LIST
$LIBRARY_LIST
@ -1944,6 +1949,9 @@ ocv_filter_deps="libopencv"
scale_filter_deps="swscale"
yadif_filter_deps="gpl"
# examples
output_example_deps="avcodec avformat avutil swscale"
# libraries
avcodec_deps="avutil"
avdevice_deps="avutil avcodec avformat"
@ -2002,7 +2010,7 @@ target_os_default=$(tolower $(uname -s))
host_os=$target_os_default
# configurable options
enable $LIBRARY_LIST $PROGRAM_LIST
enable $EXAMPLE_LIST $LIBRARY_LIST $PROGRAM_LIST
enable asm
enable debug

View File

@ -15,11 +15,20 @@ DOCS-$(CONFIG_PERL) += $(MANPAGES) $(PODPAGES)
DOCS-$(CONFIG_TEXI2HTML) += $(HTMLPAGES)
DOCS = $(DOCS-yes)
DOC_EXAMPLES-$(CONFIG_OUTPUT_EXAMPLE) += output
ALL_DOC_EXAMPLES = output
DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(EXESUF))
ALL_DOC_EXAMPLES := $(ALL_DOC_EXAMPLES:%=doc/examples/%$(EXESUF))
PROGS += $(DOC_EXAMPLES)
all: $(DOCS)
apidoc: doc/doxy/html
documentation: $(DOCS)
examples: $(DOC_EXAMPLES)
TEXIDEP = awk '/^@include/ { printf "$@: $(@D)/%s\n", $$2 }' <$< >$(@:%=%.d)
GENTEXI = format codec
@ -44,6 +53,8 @@ doc/%.1: doc/%.pod $(GENTEXI)
$(M)pod2man --section=1 --center=" " --release=" " $< > $@
$(DOCS) doc/doxy/html: | doc/
$(DOC_EXAMPLES:%=%.o): | doc/examples
OBJDIRS += doc/examples
doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(INSTHEADERS)
$(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $^
@ -68,7 +79,9 @@ uninstall-man:
$(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
clean::
$(RM) doc/*.html doc/*.pod doc/*.1 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
$(RM) $(ALL_DOC_EXAMPLES)
$(RM) $(CLEANSUFFIXES:%=doc/%) $(CLEANSUFFIXES:%=doc/examples/%)
$(RM) doc/*.html doc/*.pod doc/*.1 doc/avoptions_*.texi
$(RM) -r doc/doxy/html
-include $(wildcard $(DOCS:%=%.d))

View File

@ -24,7 +24,7 @@
* @file
* libavformat API example.
*
* @example libavformat/output-example.c
* @example doc/examples/output.c
* Output a media file in any supported libavformat format.
* The default codecs are used.
*/

View File

@ -392,7 +392,6 @@ SKIPHEADERS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh.h
SKIPHEADERS-$(CONFIG_NETWORK) += network.h rtsp.h
EXAMPLES = metadata \
output \
TESTPROGS = seek \
srtp \
@ -404,6 +403,3 @@ TOOLS = aviocat \
ismindex \
pktdumper \
probetest \
$(SUBDIR)output-example$(EXESUF): ELIBS = $(patsubst %,$(LD_LIB),swscale avutil)
$(SUBDIR)output-example$(EXESUF): $(call PATH_LIBNAME,swscale)