summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-09-29 15:09:19 -0300
committerJames Almer <jamrial@gmail.com>2017-09-29 15:12:43 -0300
commitb25d6290c67e193b91becab12e6c88df134cee81 (patch)
tree381d5e4fe13350899640699d129ac32c1d41caef /doc
parent6f7bd8cd90de3c970d1d73a29ac5749ffe2e2f95 (diff)
parentacb0dea27efff4b35796015b96570b59fd517078 (diff)
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 <jamrial@gmail.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile39
-rw-r--r--doc/examples/Makefile94
-rw-r--r--doc/examples/Makefile.example50
3 files changed, 96 insertions, 87 deletions
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)