第一节:Makefile
hello:hello.c
gcc -o hello hello.c
clean:
rm hello
hello 为目标,hello.c为依赖,gcc和rm是命令。
编译的时候默认会到当前目录下面找makefile和Makefile文件,如果没有会报错,可以手动指定makefile文件,使用make -f filename来指定。
makefile中以#开始表示注释
当改变需要涉及很多点的时候可以使用变量:
obj=main.ofun1.o fun2.o fun3.o
hello:$(obj)
@gcc-o helo$(obj) (@表示隐藏命令的过程,即隐藏了gcc的编译输出)
makefile中有一些系统默认的自动化变量
$^: 代表所有的依赖文件
$@:代表目标
$<:代表第一个依赖文件
hello:main.o fun1.o fun2.o fun3.o
gcc $^-o $@ (gccmain.o fun1.o fun2.o fun3.o -ohello)