1 LIBRARIES-
$(CONFIG_AVUTIL
) += libavutil
2 LIBRARIES-
$(CONFIG_SWSCALE
) += libswscale
3 LIBRARIES-
$(CONFIG_SWRESAMPLE
) += libswresample
4 LIBRARIES-
$(CONFIG_AVCODEC
) += libavcodec
5 LIBRARIES-
$(CONFIG_AVFORMAT
) += libavformat
6 LIBRARIES-
$(CONFIG_AVDEVICE
) += libavdevice
7 LIBRARIES-
$(CONFIG_AVFILTER
) += libavfilter
9 COMPONENTS-
$(CONFIG_AVUTIL
) += ffmpeg-utils
10 COMPONENTS-
$(CONFIG_SWSCALE
) += ffmpeg-scaler
11 COMPONENTS-
$(CONFIG_SWRESAMPLE
) += ffmpeg-resampler
12 COMPONENTS-
$(CONFIG_AVCODEC
) += ffmpeg-codecs ffmpeg-bitstream-filters
13 COMPONENTS-
$(CONFIG_AVFORMAT
) += ffmpeg-formats ffmpeg-protocols
14 COMPONENTS-
$(CONFIG_AVDEVICE
) += ffmpeg-devices
15 COMPONENTS-
$(CONFIG_AVFILTER
) += ffmpeg-filters
17 MANPAGES1
= $(AVPROGS-yes
:%=doc
/%.1) $(AVPROGS-yes
:%=doc
/%-all.1) $(COMPONENTS-yes
:%=doc
/%.1)
18 MANPAGES3
= $(LIBRARIES-yes
:%=doc
/%.3)
19 MANPAGES
= $(MANPAGES1
) $(MANPAGES3
)
20 PODPAGES
= $(AVPROGS-yes
:%=doc
/%.pod
) $(AVPROGS-yes
:%=doc
/%-all.pod
) $(COMPONENTS-yes
:%=doc
/%.pod
) $(LIBRARIES-yes
:%=doc
/%.pod
)
21 HTMLPAGES
= $(AVPROGS-yes
:%=doc
/%.html
) $(AVPROGS-yes
:%=doc
/%-all.html
) $(COMPONENTS-yes
:%=doc
/%.html
) $(LIBRARIES-yes
:%=doc
/%.html
) \
30 TXTPAGES
= doc
/fate.txt \
33 DOCS-
$(CONFIG_HTMLPAGES
) += $(HTMLPAGES
)
34 DOCS-
$(CONFIG_PODPAGES
) += $(PODPAGES
)
35 DOCS-
$(CONFIG_MANPAGES
) += $(MANPAGES
)
36 DOCS-
$(CONFIG_TXTPAGES
) += $(TXTPAGES
)
39 DOC_EXAMPLES-
$(CONFIG_AVIO_READING_EXAMPLE
) += avio_reading
40 DOC_EXAMPLES-
$(CONFIG_AVCODEC_EXAMPLE
) += avcodec
41 DOC_EXAMPLES-
$(CONFIG_DECODING_ENCODING_EXAMPLE
) += decoding_encoding
42 DOC_EXAMPLES-
$(CONFIG_DEMUXING_DECODING_EXAMPLE
) += demuxing_decoding
43 DOC_EXAMPLES-
$(CONFIG_EXTRACT_MVS_EXAMPLE
) += extract_mvs
44 DOC_EXAMPLES-
$(CONFIG_FILTER_AUDIO_EXAMPLE
) += filter_audio
45 DOC_EXAMPLES-
$(CONFIG_FILTERING_AUDIO_EXAMPLE
) += filtering_audio
46 DOC_EXAMPLES-
$(CONFIG_FILTERING_VIDEO_EXAMPLE
) += filtering_video
47 DOC_EXAMPLES-
$(CONFIG_METADATA_EXAMPLE
) += metadata
48 DOC_EXAMPLES-
$(CONFIG_MUXING_EXAMPLE
) += muxing
49 DOC_EXAMPLES-
$(CONFIG_REMUXING_EXAMPLE
) += remuxing
50 DOC_EXAMPLES-
$(CONFIG_RESAMPLING_AUDIO_EXAMPLE
) += resampling_audio
51 DOC_EXAMPLES-
$(CONFIG_SCALING_VIDEO_EXAMPLE
) += scaling_video
52 DOC_EXAMPLES-
$(CONFIG_TRANSCODE_AAC_EXAMPLE
) += transcode_aac
53 DOC_EXAMPLES-
$(CONFIG_TRANSCODING_EXAMPLE
) += transcoding
54 ALL_DOC_EXAMPLES_LIST
= $(DOC_EXAMPLES-
) $(DOC_EXAMPLES-yes
)
56 DOC_EXAMPLES
:= $(DOC_EXAMPLES-yes
:%=doc
/examples
/%$(PROGSSUF
)$(EXESUF
))
57 ALL_DOC_EXAMPLES
:= $(ALL_DOC_EXAMPLES_LIST
:%=doc
/examples
/%$(PROGSSUF
)$(EXESUF
))
58 ALL_DOC_EXAMPLES_G
:= $(ALL_DOC_EXAMPLES_LIST
:%=doc
/examples
/%$(PROGSSUF
)_g
$(EXESUF
))
59 PROGS
+= $(DOC_EXAMPLES
)
61 all-
$(CONFIG_DOC
): doc
66 documentation
: $(DOCS
)
68 examples
: $(DOC_EXAMPLES
)
70 TEXIDEP
= perl
$(SRC_PATH
)/doc
/texidep.pl
$(SRC_PATH
) $< $@
>$(@
:%=%.d
)
75 $(M
)makeinfo --force --no-headers
-o
$@
$< 2>/dev
/null
77 GENTEXI
= format codec
78 GENTEXI
:= $(GENTEXI
:%=doc
/avoptions_
%.texi
)
80 $(GENTEXI
): TAG
= GENTEXI
81 $(GENTEXI
): doc
/avoptions_
%.texi
: doc
/print_options
$(HOSTEXESUF
)
82 $(M
)doc
/print_options
$* > $@
84 doc
/%.html
: TAG
= HTML
85 doc
/%-all.html
: TAG
= HTML
87 ifdef HAVE_MAKEINFO_HTML
88 doc
/%.html
: doc
/%.texi
$(SRC_PATH
)/doc
/t2h.pm
$(GENTEXI
)
90 $(M
)makeinfo --html
-I doc
--no-split
-D config-not-all
--init-file
=$(SRC_PATH
)/doc
/t2h.pm
--output
$@
$<
92 doc
/%-all.html
: doc
/%.texi
$(SRC_PATH
)/doc
/t2h.pm
$(GENTEXI
)
94 $(M
)makeinfo --html
-I doc
--no-split
-D config-all
--init-file
=$(SRC_PATH
)/doc
/t2h.pm
--output
$@
$<
96 doc
/%.html
: doc
/%.texi
$(SRC_PATH
)/doc
/t2h.init
$(GENTEXI
)
98 $(M
)texi2html
-I doc
-monolithic
--D
=config-not-all
--init-file
$(SRC_PATH
)/doc
/t2h.init
--output
$@
$<
100 doc
/%-all.html
: doc
/%.texi
$(SRC_PATH
)/doc
/t2h.init
$(GENTEXI
)
102 $(M
)texi2html
-I doc
-monolithic
--D
=config-all
--init-file
$(SRC_PATH
)/doc
/t2h.init
--output
$@
$<
106 doc
/%.pod
: doc
/%.texi
$(SRC_PATH
)/doc
/texi2pod.pl
$(GENTEXI
)
108 $(M
)perl
$(SRC_PATH
)/doc
/texi2pod.pl
-Dconfig-not-all
=yes
-Idoc
$< $@
110 doc
/%-all.pod
: TAG
= POD
111 doc
/%-all.pod
: doc
/%.texi
$(SRC_PATH
)/doc
/texi2pod.pl
$(GENTEXI
)
113 $(M
)perl
$(SRC_PATH
)/doc
/texi2pod.pl
-Dconfig-all
=yes
-Idoc
$< $@
115 doc
/%.1 doc
/%.3: TAG
= MAN
116 doc
/%.1: doc
/%.pod
$(GENTEXI
)
117 $(M
)pod2man
--section
=1 --center
=" " --release
=" " $< > $@
118 doc
/%.3: doc
/%.pod
$(GENTEXI
)
119 $(M
)pod2man
--section
=3 --center
=" " --release
=" " $< > $@
121 $(DOCS
) doc
/doxy
/html
: | doc
/
122 $(DOC_EXAMPLES
:%$(EXESUF
)=%.o
): | doc
/examples
123 OBJDIRS
+= doc
/examples
125 DOXY_INPUT
= $(addprefix $(SRC_PATH
)/, $(INSTHEADERS
) $(DOC_EXAMPLES
:%$(EXESUF
)=%.c
) $(LIB_EXAMPLES
:%$(EXESUF
)=%.c
))
127 doc
/doxy
/html
: TAG
= DOXY
128 doc
/doxy
/html
: $(SRC_PATH
)/doc
/Doxyfile
$(SRC_PATH
)/doc
/doxy-wrapper.sh
$(DOXY_INPUT
)
129 $(M
)$(SRC_PATH
)/doc
/doxy-wrapper.sh
$(SRC_PATH
) $< $(DOXYGEN
) $(DOXY_INPUT
)
131 install-doc
: install-html install-man
137 ifdef CONFIG_HTMLPAGES
138 install-progs-
$(CONFIG_DOC
): install-html
140 install-html
: $(HTMLPAGES
)
141 $(Q
)mkdir
-p
"$(DOCDIR)"
142 $(INSTALL
) -m
644 $(HTMLPAGES
) "$(DOCDIR)"
145 ifdef CONFIG_MANPAGES
146 install-progs-
$(CONFIG_DOC
): install-man
148 install-man
: $(MANPAGES
)
149 $(Q
)mkdir
-p
"$(MANDIR)/man1"
150 $(INSTALL
) -m
644 $(MANPAGES1
) "$(MANDIR)/man1"
151 $(Q
)mkdir
-p
"$(MANDIR)/man3"
152 $(INSTALL
) -m
644 $(MANPAGES3
) "$(MANDIR)/man3"
155 uninstall: uninstall-doc
157 uninstall-doc
: uninstall-html uninstall-man
163 $(RM
) $(addprefix "$(MANDIR)/man1/",$(AVPROGS-yes
:%=%.1) $(AVPROGS-yes
:%=%-all.1) $(COMPONENTS-yes
:%=%.1))
164 $(RM
) $(addprefix "$(MANDIR)/man3/",$(LIBRARIES-yes
:%=%.3))
169 $(RM
) doc
/config.texi
172 $(RM
) $(ALL_DOC_EXAMPLES
) $(ALL_DOC_EXAMPLES_G
)
173 $(RM
) $(CLEANSUFFIXES
:%=doc
/examples
/%)
175 docclean
: examplesclean
176 $(RM
) $(CLEANSUFFIXES
:%=doc
/%)
177 $(RM
) $(TXTPAGES
) doc
/*.html doc
/*.pod doc
/*.1 doc
/*.3 doc
/avoptions_
*.texi
178 $(RM
) -r doc
/doxy
/html
180 -include $(wildcard $(DOCS
:%=%.d
))
182 .PHONY
: apidoc doc documentation