person:main.o person.o
g++ -o $@ $^
%.o:%.cpp
g++ -c -o $@ $<
clean:
rm -rf *.o person
Makefile基本语法:
目标:依赖
注意:在目标:依赖下面必须是TAB键
person目标依赖main.o 和 person.o
main.o目标依赖main.cpp
main.o:main.cpp
person.o目标依赖person.cpp
person.o:person.cpp
main.o 和 person.o的目标可以用通配符%来替代,减少重复
%.o目标依赖%.cpp
%.o:%.cpp
常用的预定义变量:
$@ 目标的完整名称。
$^ 所有的依赖文件,以空格分开,不包含重复的依赖文件。
$< 第一个依赖文件的名称。
$* 不包含扩展名的目标文件名称。
$+ 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。
$? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。
$% 如果目标是归档成员,则该变量表示目标的归档成员名称。