ffmpeg - 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
一个文件只能执行一个配方。如果多个规则为同一个文件提供了一个配方,make 使用最后一个给定的规则并打印一条错误消息。(作为一种特殊情况,如果文件名以点开头,则不会打印错误消息。这种奇怪的行为只是为了与 make 的其他实现兼容……你应该避免使用它)。有时,让同一个目标调用在 makefile 的不同部分中定义的多个配方很有用;您可以为此使用双冒号规则(请参阅双冒号)。
有两个目标,make只使用最后一个,所以你可以删除“all-yes”或删除“all:all-yes”然后使用“make all”命令,对编译没有影响。命令行“all:all-yes”只是确保“all”是默认目标。
推荐阅读
- javascript - 在 React Redux Saga 中,API 在循环中被多次调用
- java - 使用 OpenJDK 11 读取带有蓝色棱镜(java 模式)的表时出错
- cocoa - PDFDocument 可能存在的编码问题
- node.js - 使用nodejs和rest api调用和express进行异步处理-序列错误
- python - Ansible 和 Opennebula:这个模块需要 pyone 才能工作
- android - 具有 Android 架构导航的动态功能模块之间的 startActivityForResult()
- python-3.x - 在 Python 中将十六进制数据转换为可读字符串
- wordpress - 将 API 请求重定向到子域 htaccess
- selenium - 当单独运行 appium 测试脚本时,它们运行良好,但是当它们一起运行时,它们会抛出错误
- r - R6 传递一个 self$FUN 作为参数