"all-yes" 在 ffmpeg Makefile 中是什么意思
What does "all-yes" mean in ffmpeg Makefile
在ffmpeg Makefile中,
https://github.com/FFmpeg/FFmpeg/blob/master/Makefile#L37
https://github.com/FFmpeg/FFmpeg/blob/master/Makefile#L189
它定义了虚假目标“all”和“all-yes”,但我无法通过搜索整个 ffmpeg 目录找到“all-yes”的先决条件和命令。那么谁能帮忙解释一下“全部是”到底是什么意思?
在“include $(SRC_PATH)/fftools/Makefile”中还有一个“all”目标:https://github.com/FFmpeg/FFmpeg/blob/master/fftools/Makefile#L30
$(foreach P,$(AVPROGS-yes),$(eval $(call DOFFTOOL,$(P))))
all: $(AVPROGS)
fftools/ffprobe.o fftools/cmdutils.o: libavutil/ffversion.h | fftools
OUTDIRS += fftools
4.11 Multiple Rules for One Target
There can only be one recipe to be executed for a file. If more than one rule gives a recipe for the same file, make uses the last one given and prints an error message. (As a special case, if the file’s name begins with a dot, no error message is printed. This odd behavior is only for compatibility with other implementations of make… you should avoid using it). Occasionally it is useful to have the same target invoke multiple recipes which are defined in different parts of your makefile; you can use double-colon rules (see Double-Colon) for this.
有两个目标,make只使用最后一个,所以你可以删除“all-yes”或删除“all:all-yes”然后使用“make all”命令,对编译没有影响。命令行“all:all-yes”只是确保“all”是默认目标。
在ffmpeg Makefile中,
https://github.com/FFmpeg/FFmpeg/blob/master/Makefile#L37
https://github.com/FFmpeg/FFmpeg/blob/master/Makefile#L189
它定义了虚假目标“all”和“all-yes”,但我无法通过搜索整个 ffmpeg 目录找到“all-yes”的先决条件和命令。那么谁能帮忙解释一下“全部是”到底是什么意思?
在“include $(SRC_PATH)/fftools/Makefile”中还有一个“all”目标:https://github.com/FFmpeg/FFmpeg/blob/master/fftools/Makefile#L30
$(foreach P,$(AVPROGS-yes),$(eval $(call DOFFTOOL,$(P))))
all: $(AVPROGS)
fftools/ffprobe.o fftools/cmdutils.o: libavutil/ffversion.h | fftools
OUTDIRS += fftools
4.11 Multiple Rules for One Target
There can only be one recipe to be executed for a file. If more than one rule gives a recipe for the same file, make uses the last one given and prints an error message. (As a special case, if the file’s name begins with a dot, no error message is printed. This odd behavior is only for compatibility with other implementations of make… you should avoid using it). Occasionally it is useful to have the same target invoke multiple recipes which are defined in different parts of your makefile; you can use double-colon rules (see Double-Colon) for this.
有两个目标,make只使用最后一个,所以你可以删除“all-yes”或删除“all:all-yes”然后使用“make all”命令,对编译没有影响。命令行“all:all-yes”只是确保“all”是默认目标。