今天决定认认真真的开始学习makefile,以前总是这看一点那看一点,但是到最后是一点收获也没有,看了跟没有看一样,今天决定改变以往的学习方式。准备把所学的记录下来以作回顾,同时给以后的新人做个简单的参考.
首先是先学习makefile的基本结构:
Makefile是Make读入的惟一配置文件,因此本节的内容实际就是讲述Makefile的编写规则。在一个Makefile中通常包含如下内容:
· 需要由make工具创建的目标体(target),通常是目标文件或可执行文件;
· 要创建的目标体所依赖的文件(dependency_file);
· 创建每个目标体时需要运行的命令(command)。
它的格式为:
target: dependency_files
command
例如,有两个文件分别为hello.c和hello.h,创建的目标体为hello.o,执行的命令为gcc编译指令:gcc –c hello.c,那么,对应的Makefile就可以写为:
接着就可以使用make了。使用make的格式为:make target,这样make就会自动读入Makefile(也可以是首字母小写makefile)并执行对应target的command语句,并会找到相应的依赖文件。如下所示:
可以看到,Makefile执行了“hello.o”对应的命令语句,并生成了“hello.o”目标体。
注意 |
在Makefile中的每一个command前必须有“Tab”符,否则在运行make命令时会出错。 |