build: Separate logic for building examples from that for building avtools
[ffmpeg.git] / doc / examples / Makefile
1 DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE)     += decode_audio
2 DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE)     += decode_video
3 DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE)     += encode_audio
4 DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE)     += encode_video
5 DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE)     += filter_audio
6 DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE)         += metadata
7 DOC_EXAMPLES-$(CONFIG_OUTPUT_EXAMPLE)           += output
8 DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE)           += qsvdec
9 DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE)    += transcode_aac
10
11 DOC_EXAMPLES     := $(DOC_EXAMPLES-yes:%=doc/examples/%$(EXESUF))
12 ALL_DOC_EXAMPLES := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(EXESUF))
13 PROGS            += $(DOC_EXAMPLES)
14
15 $(foreach P,$(DOC_EXAMPLES),$(eval OBJS-$(P:%$(EXESUF)=%) = $(P:%$(EXESUF)=%).o))
16 $(DOC_EXAMPLES): %$(EXESUF): %.o
17
18 examples: $(DOC_EXAMPLES)
19
20 $(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples
21 OBJDIRS += doc/examples
22
23 DOXY_INPUT += $(addprefix $(SRC_PATH)/, $(DOC_EXAMPLES:%$(EXESUF)=%.c))
24
25 clean::
26         $(RM) $(ALL_DOC_EXAMPLES)
27         $(RM) $(CLEANSUFFIXES:%=doc/examples/%)
28
29 -include $(wildcard $(DOC_EXAMPLES:%$(EXESUF)=%.d))
30
31 .PHONY: examples