Makefile依赖项中的断点逻辑
Logic of breakoutline in Makefile depedencies
我正在阅读一个C库。我遇到了一个奇怪的makefile类型,在多行上有多个依赖项,比如:
phuonga:
echo ">>>>>>>>>>>phuong a"
.PHONY : phuonga
phuongb:
echo ">>>>>>>>>>>phuong b"
.PHONY : phuongb
phuongc:
echo ">>>>>>>>>>>phuong c"
.PHONY : phuongc
phuong: phuonga
phuong: phuongb
phuong: phuongc
echo ">>>>>> Runned phuong"
但是当我运行make phuong时,结果是:
>>>>>>>>>>>phuong c
>>>>>>>>>>>phuong a
>>>>>>>>>>>phuong b
>>>>>> Runned phuong
不出现a,b,c或c,b,a。顺序是c a b为什么要遵循这个顺序?我不明白那个逻辑。
Thank much
第一个先决条件是总是包含配方的规则的先决条件列表中的先决条件。之后,按照在makefile中看到的顺序添加先决条件。所以对于:
phuong: phuonga
phuong: phuongb
phuong: phuongc
echo ">>>>>> Runned phuong"
包含配方的行将phuongc
列为先决条件,因此它总是排在第一位。之后,第一个先决条件是phuonga
,所以接下来是phuongb
。
如果你这样写规则:
phuong: phuonga
phuong: phuongb
phuong: phuongc
phuong:
echo ">>>>>> Runned phuong"
如果包含配方的规则中没有列出任何先决条件,那么它们将按照在makefile (phuonga
, phuongb
, phuongc
)中定义的顺序出现。
相关文章:
- 如何从C++中的依赖类型中获得它所依赖的类型
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 将依赖名称显式标记为类型名和模板的奇怪之处
- 无法删除指针,已触发断点
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 条件断点在不应该触发时触发
- C++GTKMM gui循环依赖关系
- 通过ccmake在cmake中缓存依赖选项
- 当基类是依赖类型时,这是一个缺陷吗
- 从不同的附加依赖项中识别等同命名的函数
- 如何在 CMake 中对目标依赖项进行分组?
- 是否可以依赖函数范围的静态变量来执行程序关闭期间调用的方法?
- 为什么构建目录中新构建的共享库与安装目录中的副本具有不同的依赖项集?
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 通过依赖类型使用非类型模板参数的单类型模板参数类模板的部分专用化
- 为什么内存屏障依赖于变量?
- node-gyp 的先有鸡还是先有蛋的问题:指向依赖项中的头文件
- 反转依赖于 end() 的迭代器
- Makefile依赖项中的断点逻辑
- 设置依赖于调用栈的条件断点