linux中make和Makefile的详解

来源:互联网 发布:杰森基德生涯数据 编辑:程序博客网 时间:2024/06/05 09:39

1、make:是编译命令,本质上它是一个程序。对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。
2、Makefile文件
:Make工具最主要也是最基本的功能就是通过Makefile文件来描述源程序之间的相互关系并自动维护编译工作,本质上Makefile文件是个文本文件,用于配置编译过程。Makefile
文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。

过程为:
helloworld.c–>helloworld.o–>helloworld
——————编译 ——————链接——————

Makefile

root@ubuntu:~/lesson/chap1/1-1# more Makefilehello:helloworld.o    gcc -o hello helloworld.ohelloword.o:helloworld.c    gcc -o helloworl.o -c helloworld.cclean:    rm hello helloworld.o

gcc

gcc [-o outfile] [@file] infile...

-c表示只编译(compile)源文件但不链接,会把.c的c源程序编译成目标文件,一般是.o文件。
-o用于指定输出(out)文件名。不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序

原创粉丝点击