在大的工程中,我们可能无从下手。不过一般的工程里面都有个makefile文件,makefile文件告诉我们目标文件和他所依赖的文件。根据makefile文件我们就能很清晰的了解项目的结构。下面来说说他的基本的语法。
makefile文件的一般的语法格式:
目标:依赖条件(可以有多个依赖)
<TAB>命令
上面就是一般的格式。目标可以有多个目标。<TAB>必须是tab缩进,不能用空格来替换。命令将由shell来解释。下面来看看一个具体的实例:
CC=gcc
CFLAGS=-0;
pro : pro.c
$(CC) $(CFLAGS) $@ pro.c
clean:
rm pro
其中,CC指明编译器;
CFLAGS 编译参数;
@表示当前目标名;
clean后面的就是表示当你在shell中输入make clean时,会清理掉生成的pro。
上面如果你在shell中键入make其实就相当于:gcc -o pro pro.c
键入make clean就相当于: rm pro
makefile文件中还有一些隐含规则,即使在makefile中没有指定需要生成某个目标文件,依然会根据依赖关系自动调用gcc.