调用 g++ 时美元符号后跟数字是什么意思?

What does a dollar sign followed by a number mean when calling g++?

我正在尝试理解 makefile,但 gnu 文档让我失望了。以下是罐头食谱。我无法理解 $1、$2、$3,而且它们没有出现在代码的其他任何地方。

define make-depend-cpp
    g++ -MM -MF  -MP -MT  $(CXXFLAGS) $(CXXDEFINES) $(INCLUDES)  
endef

那是一个宏定义,那些是宏的参数。因此,如果您在 Makefile 的其他地方看到:

$(call make-depend-cpp, file1, file2, file3)

它将被替换为:

g++ -MM -MF file3 -MP -MT file2 $(CXXFLAGS) $(CXXDEFINES) $(INCLUDES)  file1