作为一个刚刚接触Linux的菜鸟,学到了工程管理器make的使用,感受到了此编译器的强大,想写一点我所知道的make的一些用法。
make,是针对多文件编译的时候使用的,与gcc相比有两方面的优越性。首先,使用方便。通过命令“make”就可以启动Make工程管理器对程序进行编译,所以不需要每次都输入gcc命令行。其次,调试效率高。为了提高编译程序的效率,Make会检查每个源文件的修改时间。只有上次编译之后被修改的源文件才会在接下来的编译过程中被编译和链接,这样就能避免多余的编译工作量。
Make工程管控器是完全根据Makefile文件中的编译规则命令进行工作的。因此,要学make其实就是学会Makefile的编写。Makefile的编写需要遵循如下的三个规则:目标(target),依赖(dependency),命令(command)。
知道了规则再说说makefile 的格式:
target:dependency_files
<TAB>command /*该行必须以tab键开头*/
例题:以我们程序员写的第一个程序hello.c为例
hello:hello.o
gcc -o hello hello.o
hello.o:hello.c
gcc -c hello.c
此例题中,实现hello的可执行文件为终极目标,实现这一终极目标需要hello.o这个依赖,创建这个目标需要运行的命令是:gcc -o hello hello.o;同样的hello.o这个中间目标需要hello.c的依赖执行gcc -c hello.c的命令来实现。