我想使用单个 makefile 编译具有多个源文件的多个应用程序。
所有来源都在一个目录中。
应用程序/src/
app1_file1.cpp
app1_file2.cpp
app1_main.cpp
app2_file1.cpp
app2_file2.cpp
app2_main.cpp
应用程序/Makefile
生成文件
APPS:= app1_main app2_main
app1_main_SOURCES:= app1_file1.cpp app1_file2.cpp app1_main.cpp
app2_main_SOURCES:= app2_file1.cpp app2_file2.cpp app2_main.cpp
default: app1_main app2_main
%: $(foreach $CPP_FILE,$(%_SOURCES),$(patsubst %.cpp,%.o,$(CPP_FILE)))
gcc ....
%.o: src/%.cpp
gcc ...
问题
我希望将 $(%_SOURCES) 替换为“app1_main_SOURCES,app2_main_SOURCES”。但这似乎并没有发生在上面的代码中。有人可以建议使用 % 的正确方法将其替换为我想要的变量名。
谢谢