【发布时间】:2014-07-22 09:12:55
【问题描述】:
我在makefile中遇到过这样的模式
CXXOBJ = f1.o f2.o f3.o
$(CXXOBJ): %.o: %.cpp
g++ -c $< -o $@
f1.o: f1.cpp f1.hpp f2.hpp
f2.o: f2.cpp f2.hpp f3.hpp macros.h
f3.o: f3.cpp f3.hpp
它可以工作(至少使用 GNU make 4.0)。
它使用第 4 行的通用配方,
但另外使用底部定义的依赖项。
问题
- 这是标准的
make行为吗? (或者它特定于 GNU-make?) - 它是编写make文件的标准方法吗? (即人们通常是这样做的还是“异国情调”?)
- 具体是如何工作的?
make如何为同一个文件组合 2 个不同的规则? (只是附加依赖列表或更多内容?)
(我正在浏览 GNU-make 手册,但找不到相关部分)
【问题讨论】:
标签: makefile