将相同的编译命令应用于多个源文件

时间:2012-11-13 10:59:03

标签: makefile gnu-make

假设我有几个以相同方式构建的.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,以排除代码重复?

1 个答案:

答案 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?