【发布时间】:2015-11-29 08:38:53
【问题描述】:
我正在尝试理解 makefile,但 gnu 文档让我失望了。以下是罐头食谱。我无法理解 $1、$2、$3,它们不会出现在代码的其他任何地方。
define make-depend-cpp
g++ -MM -MF $3 -MP -MT $2 $(CXXFLAGS) $(CXXDEFINES) $(INCLUDES) $1
endef
【问题讨论】:
我正在尝试理解 makefile,但 gnu 文档让我失望了。以下是罐头食谱。我无法理解 $1、$2、$3,它们不会出现在代码的其他任何地方。
define make-depend-cpp
g++ -MM -MF $3 -MP -MT $2 $(CXXFLAGS) $(CXXDEFINES) $(INCLUDES) $1
endef
【问题讨论】:
这是一个宏定义,这些是宏的论据。因此,如果您在 Makefile 的其他地方看到:
$(call make-depend-cpp, file1, file2, file3)
它将被替换为:
g++ -MM -MF file3 -MP -MT file2 $(CXXFLAGS) $(CXXDEFINES) $(INCLUDES) file1
【讨论】: