Makefile 2.67 KB
Newer Older
James Almer's avatar
James Almer committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE)      += avio_dir_cmd
EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE)      += avio_reading
EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE)      += decode_audio
EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE)      += decode_video
EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding
EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE)      += encode_audio
EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE)      += encode_video
EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE)       += extract_mvs
EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE)      += filter_audio
EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE)   += filtering_audio
EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE)   += filtering_video
EXAMPLES-$(CONFIG_HTTP_MULTICLIENT_EXAMPLE)  += http_multiclient
EXAMPLES-$(CONFIG_HW_DECODE_EXAMPLE)         += hw_decode
EXAMPLES-$(CONFIG_METADATA_EXAMPLE)          += metadata
EXAMPLES-$(CONFIG_MUXING_EXAMPLE)            += muxing
EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE)            += qsvdec
EXAMPLES-$(CONFIG_REMUXING_EXAMPLE)          += remuxing
EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE)  += resampling_audio
EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE)     += scaling_video
EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE)     += transcode_aac
EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE)       += transcoding
22
EXAMPLES-$(CONFIG_VAAPI_ENCODE_EXAMPLE)      += vaapi_encode
23
EXAMPLES-$(CONFIG_VAAPI_TRANSCODE_EXAMPLE)   += vaapi_transcode
James Almer's avatar
James Almer committed
24 25 26 27 28 29

EXAMPLES       := $(EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF))
EXAMPLES_G     := $(EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)_g$(EXESUF))
ALL_EXAMPLES   := $(EXAMPLES) $(EXAMPLES-:%=doc/examples/%$(PROGSSUF)$(EXESUF))
ALL_EXAMPLES_G := $(EXAMPLES_G) $(EXAMPLES-:%=doc/examples/%$(PROGSSUF)_g$(EXESUF))
PROGS          += $(EXAMPLES)
James Almer's avatar
James Almer committed
30 31

EXAMPLE_MAKEFILE := $(SRC_PATH)/doc/examples/Makefile
32
EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/README $(EXAMPLE_MAKEFILE)
33

James Almer's avatar
James Almer committed
34 35
$(foreach P,$(EXAMPLES),$(eval OBJS-$(P:%$(PROGSSUF)$(EXESUF)=%) = $(P:%$(PROGSSUF)$(EXESUF)=%).o))
$(EXAMPLES_G): %$(PROGSSUF)_g$(EXESUF): %.o
36

37
examples: $(EXAMPLES)
38

James Almer's avatar
James Almer committed
39
$(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.o): | doc/examples
40 41
OBJDIRS += doc/examples

James Almer's avatar
James Almer committed
42
DOXY_INPUT += $(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.c)
43

44 45 46 47 48 49 50 51 52 53 54 55
install: install-examples

install-examples: $(EXAMPLES_FILES)
	$(Q)mkdir -p "$(DATADIR)/examples"
	$(INSTALL) -m 644 $(EXAMPLES_FILES) "$(DATADIR)/examples"
	$(INSTALL) -m 644 $(EXAMPLE_MAKEFILE:%=%.example) "$(DATADIR)/examples/Makefile"

uninstall: uninstall-examples

uninstall-examples:
	$(RM) -r "$(DATADIR)/examples"

James Almer's avatar
James Almer committed
56
examplesclean:
James Almer's avatar
James Almer committed
57
	$(RM) $(ALL_EXAMPLES) $(ALL_EXAMPLES_G)
58 59
	$(RM) $(CLEANSUFFIXES:%=doc/examples/%)

James Almer's avatar
James Almer committed
60 61
docclean:: examplesclean

James Almer's avatar
James Almer committed
62
-include $(wildcard $(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.d))
63

64
.PHONY: examples