冒号和$ in makefile

Arj*_*gri 10 makefile

什么是TEMP0_FILES以下计算来?SOURCE_FILES可以等于多个源文件.请告诉我以下语法的目的:.cpp=.o

SOURCE_FILES = main.cpp

TEMP0_FILES = $(SOURCE_FILES:.cpp=.o)
Run Code Online (Sandbox Code Playgroud)

And*_*ite 17

:语法导致在变量上发生替换.在这种情况下,它将在SOURCE_FILES变量的所有项中将".cpp"替换为".o".

TEMP0_FILES将是"main.o"

如果SOURCE_FILES是"main.cpp otherfile.cpp otherfile2.cpp",TEMP0_FILES将变为:"main.o otherfile.o otherfile2.o"等.