0.makefile文件可以命名为 makefile Makefile
0.1 makefile的格式:
targets : prerequisites
command
1.makefile 的命令一定要用【Tab】键
2.在命令和非命令行前加 “ - ” ,代表如果这里出错忽略,比如
-include foo.make 如果找不到也继续进行下去
clean:
-rm $obj 这是在命令之前,如果没找到obj文件也继续执行下去
但是尽量不要这么做,报错而又继续进行,那是很不好的。
3.第二中的clean是一种伪命令,由于clean在的位置比较特别,是一个文件的位置,有可能会被当做文件来对待,为了清楚,一般会像下面这样做:
.PHONY: clean
clean:
rm *.o temp
4.由于makefile文件的第一个会被当做默认目标,那要如何才能一次性生成多个目标,通过以上的伪目标,我们就可以实现,像如下的做法:
all : prog1 prog2 prog3
.PHONY : all
prog1 : prog1.o utils.o
cc -o prog1 prog1.o utils.o
prog2 : prog2.o
cc -o prog2 prog2.o
prog3 : prog3.o sort.o utils.o
cc -o prog3 prog3.o sort.o utils.o
这样就可以生成三个最终的目标。其实可以看出目标可以成为依赖,伪目标也可以成为依赖