make工具介绍
工程管理器可以用来管理较多的文件。读者可以试想一下:一个由上百个源文件构成的项目,如果其中只有一个或少数几个文件进行了修改,按照之前所学的GC的用法,就不得不把所有的文件重新编译一避。原因就在于编译器并不知道哪些文件是最近更新的,所以,程序员就不得不处理所有的文件来完成重新编译工作。
显然,开发人员需要一个能够自动识别出那些被更新的代码文件并实现整个工程自动编译的工具。实际上,make就是一个自动编译管理器,能够根据文件时间戳自动发现更新过的文件从而减少编译的工作量。同时,它通过读入Mkce文件的内容来执行大量的编译工作,用户只需编写一次简单的编译语句即可。它大大提高了项目开发和维护的工作效率,几乎所有嵌入式Linx下的项目编程均会涉及make管理器的。因此学会make是一个必备的技能,有助于我们更快的完成开发工具。
Makefile基本结构
Makefile用来告诉make如何编译和链接一个程序,它是make读入的唯一配置文件。
Makefile的编写规则:
在一个 Makefile中通常包含如下内容。
①需要由make工具创建的目标体( target),目标体通常是目标文件、可执行文件或是一个标签。
②要创建的目标体所依赖的文件( dependency_ file)
③创建每个目标体时需要运行的命令( command)。
格式:
target:dependency_files
command
例如,有两个文件分别为test.c和test.h,希望创建的目标体为test.o,执行的命令为GCC编译指令 gcc -c test.c,那么,对应的Makefile就可以写成下面形式。
#The simplest example
test.o: test.c test.h
gcc -c test.c -o test.o #在每一个command之前都必须有一个Tab符
然后使用make,就会自动读入Makefile执行对应的command语句,并且会找出相应的依赖文件。