Makefile 文件有一组依赖关系和规则构成的。每个依赖关系由一个目标(即将要创造的文件)和一组该文件所依赖的源文件组成。而规则描述了如何通过这些依赖关系创建目标。
myapp:main.o 2.o 3.o
先写目标的名称:(空格或者TAB)隔开文件列表
all:myapp myapp1
注意如果使用make命令时未指定目标all,则make命令将只创建它在文件makefile中找到的第一目标。
在makefile文件中空格和制表符TAB是有区别的。 规则所在的行(gcc -c 2.c)必须以制表符tab开头,用空格不行。如果makefile文件中的某行以空格结尾,他也会导致make命令执行失败。
例:
myapp:main.o 2.o 3.o
gcc -o myapp main.o 2.o 3.o 此处必须以tab开头。
makefile文件中的注释以#号开头,一直延续到这一行的结束。如C语言的注释。
makefile文件中的宏
我们通过语句MACRONAME=value来定义makefile文件中的宏,引用宏的方法是$(MACRONAME)或${MACRONAME}。 若想把一个宏的值设置为空,可以令等号(=)后面无内容。