假设我有几个以相同方式构建的.cpp文件:
main.o : main.cpp $(CC) -c main.cpp $(COMPILATION_FLAGS) file1.o : file1.cpp $(CC) -c file1.cpp $(COMPILATION_FLAGS) file2.o : file2.cpp $(CC) -c file2.cpp $(COMPILATION_FLAGS)
如何只编写一次此命令,然后将其应用于main,file1和file2,以排除代码重复?
答案 0 :(得分:0)
http://www.gnu.org/software/make/manual/html_node/Pattern-Rules.html
http://www.gnu.org/software/make/manual/html_node/Pattern-Examples.html#Pattern-Examples
像
这样的东西%.o : %.cpp
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
应该做你想做的事。
为什么不使用CFLAGS和CPPFLAGS而不是COMPILATION_FLAGS?