Blame view

ffmpeg-4.2.2/doc/Makefile 5.18 KB
aac5773f   hucm   功能基本完成,接口待打磨
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
  LIBRARIES-$(CONFIG_AVUTIL)     += libavutil
  LIBRARIES-$(CONFIG_SWSCALE)    += libswscale
  LIBRARIES-$(CONFIG_SWRESAMPLE) += libswresample
  LIBRARIES-$(CONFIG_AVCODEC)    += libavcodec
  LIBRARIES-$(CONFIG_AVFORMAT)   += libavformat
  LIBRARIES-$(CONFIG_AVDEVICE)   += libavdevice
  LIBRARIES-$(CONFIG_AVFILTER)   += libavfilter
  
  COMPONENTS-$(CONFIG_AVUTIL)     += ffmpeg-utils
  COMPONENTS-$(CONFIG_SWSCALE)    += ffmpeg-scaler
  COMPONENTS-$(CONFIG_SWRESAMPLE) += ffmpeg-resampler
  COMPONENTS-$(CONFIG_AVCODEC)    += ffmpeg-codecs ffmpeg-bitstream-filters
  COMPONENTS-$(CONFIG_AVFORMAT)   += ffmpeg-formats ffmpeg-protocols
  COMPONENTS-$(CONFIG_AVDEVICE)   += ffmpeg-devices
  COMPONENTS-$(CONFIG_AVFILTER)   += ffmpeg-filters
  
  MANPAGES1   = $(AVPROGS-yes:%=doc/%.1)    $(AVPROGS-yes:%=doc/%-all.1)    $(COMPONENTS-yes:%=doc/%.1)
  MANPAGES3   = $(LIBRARIES-yes:%=doc/%.3)
  MANPAGES    = $(MANPAGES1) $(MANPAGES3)
  PODPAGES    = $(AVPROGS-yes:%=doc/%.pod)  $(AVPROGS-yes:%=doc/%-all.pod)  $(COMPONENTS-yes:%=doc/%.pod)  $(LIBRARIES-yes:%=doc/%.pod)
  HTMLPAGES   = $(AVPROGS-yes:%=doc/%.html) $(AVPROGS-yes:%=doc/%-all.html) $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
                doc/developer.html                                        \
                doc/faq.html                                              \
                doc/fate.html                                             \
                doc/general.html                                          \
                doc/git-howto.html                                        \
                doc/mailing-list-faq.html                                 \
                doc/nut.html                                              \
                doc/platform.html                                         \
  
  TXTPAGES    = doc/fate.txt                                              \
  
  
  DOCS-$(CONFIG_HTMLPAGES) += $(HTMLPAGES)
  DOCS-$(CONFIG_PODPAGES)  += $(PODPAGES)
  DOCS-$(CONFIG_MANPAGES)  += $(MANPAGES)
  DOCS-$(CONFIG_TXTPAGES)  += $(TXTPAGES)
  DOCS = $(DOCS-yes)
  
  all-$(CONFIG_DOC): doc
  
  doc: documentation
  
  apidoc: doc/doxy/html
  documentation: $(DOCS)
  
  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)
  
  $(GENTEXI): TAG = GENTEXI
  $(GENTEXI): doc/avoptions_%.texi: doc/print_options$(HOSTEXESUF)
  	$(M)doc/print_options $* > $@
  
  doc/%.html: TAG = HTML
  doc/%-all.html: TAG = HTML
  
  ifdef HAVE_MAKEINFO_HTML
  doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI)
  	$(Q)$(TEXIDEP)
  	$(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 $(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)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-all=yes -Idoc $< $@
  
  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/
  
  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
  
  install-html:
  
  install-man:
  
  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"
  	$(INSTALL) -m 644 $(MANPAGES1) "$(MANDIR)/man1"
  	$(Q)mkdir -p "$(MANDIR)/man3"
  	$(INSTALL) -m 644 $(MANPAGES3) "$(MANDIR)/man3"
  endif
  
  uninstall: uninstall-doc
  
  uninstall-doc: uninstall-html uninstall-man
  
  uninstall-html:
  	$(RM) -r "$(DOCDIR)"
  
  uninstall-man:
  	$(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
  
  docclean::
  	$(RM) $(CLEANSUFFIXES:%=doc/%)
  	$(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 doc/avoptions_*.texi
  	$(RM) -r doc/doxy/html
  
  -include $(wildcard $(DOCS:%=%.d))
  
  .PHONY: apidoc doc documentation