1、书写时明确几个问题:目标文件?目标依赖的文件列表?更新目标文件所需的命令?
target:规则的目标。 prerequisite:规则依赖的条件 command:规则的命令行。
2、每一条命令以[Tab]开头。每一条命令占用一行。
3、反斜线是换行符,在后面不能加空格!
4、使用指定变量,如obj=main.o kbd.o command.o display.o
insert.o search.o files.o
5、cc -c main.c -o main.o 是makefile的自动推导规则,不用写出来,编译时会默认执行。
6、“include”指示符告诉make停止当前读取的Makefile,转向“include”指定的一个或者多个文件。include是以一个或者多个空格开始,切记不能以[Tab]开始,否则将会当做一个命令 来处理。
7、报错方式:
8、变量MAKEFILES(少用)。指定环境变量,功能类似于include,主要用于make的递归调用的通信,多用于定义通用规则和变量文件(类似于C中的全局变量)。
9、makefile中遇到双冒号规则时会无条件的对目标文件进行更新。但是如果这个规则的目标是一个makefile文件,make会忽略这个规则