导航:首页 > 程序命令 > makefile命令

makefile命令

发布时间:2022-07-20 02:38:00

㈠ 如何调试makefile

调试makefile的步骤如下,
一、make的退出码
make命令执行后有三个退出码:
0 —— 表示成功执行。

1 —— 如果make运行时出现任何错误,其返回1。

2 —— 如果你使用了make的“-q”选项,并且make使得一些目标不需要更新,那么返回2。
Make的相关参数我们会在后续章节中讲述。
二、指定Makefile

前面我们说过,GNU make找寻默认的Makefile的规则是在当前目录下依次找三个文件——“GNUmakefile”、“makefile”和“Makefile”。其按顺序找这三个文件,一旦找到,就开始读取这个文件并执行。

当前,我们也可以给make命令指定一个特殊名字的Makefile。要达到这个功能,我们要使用make的“-f”或是“--file”参数(“--makefile”参数也行)。例如,我们有个makefile的名字是“hchen.mk”,那么,我们可以这样来让make来执行这个文件:

make –f hchen.mk
如果在make的命令行是,你不只一次地使用了“-f”参数,那么,所有指定的makefile将会被连在一起传递给make执行。

三、指定目标

一般来说,make的最终目标是makefile中的第一个目标,而其它目标一般是由这个目标连带出来的。这是make的默认行为。当然,一般来说,你的makefile中的第一个目标是由许多个目标组成,你可以指示make,让其完成你所指定的目标。要达到这一目的很简单,需在make命令后直接跟目标的名字就可以完成(如前面提到的“make clean”形式)

任何在makefile中的目标都可以被指定成终极目标,但是除了以“-”打头,或是包含了“=”的目标,因为有这些字符的目标,会被解析成命令行参数或是变量。甚至没有被我们明确写出来的目标也可以成为make的终极目标,也就是说,只要make可以找到其隐含规则推导规则,那么这个隐含目标同样可以被指定成终极目标。

四、检查规则

让的makefile中的规则执行起来,检查一下我们的命令,或是执行的序列。于是可以使用make命令的下述参数:
“-n”

“--just-print”

“--dry-run”
“--recon”
不执行参数,这些参数只是打印命令,不管目标是否更新,把规则和连带规则下的命令打印出来,但不执行,这些参数对于我们调试makefile很有用处。
“-t”
“--touch”

这个参数的意思就是把目标文件的时间更新,但不更改目标文件。也就是说,make假装编译目标,但不是真正的编译目标,只是把目标变成已编译过的状态。
五、make的参数
下面列举了所有GNU make 3.80版的参数定义。其它版本和产商的make大同小异,不过其它产商的make的具体参数还是请参考各自的产品文档。
“-b”

“-m”

这两个参数的作用是忽略和其它版本make的兼容性。
“-B”
“--always-make”

认为所有的目标都需要更新(重编译)。

㈡ makefile到底是干什么用的

一个工程(project)中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

Makefile 文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。尽管看起来可能是很复杂的事情,但是为工程编写Makefile 的好处是能够使用一行命令来完成“自动化编译”,一旦提供一个(通常对于一个工程来说会是多个)正确的
Makefile。编译整个工程你所要做的唯一的一件事就是在shell 提示符下输入make命令。整个工程完全自动编译,极大提高了效率。

如果你使用的是带有图形用户界面的集成化开发环境如VisualStudio,一般用不着手动编写makefile文件,当你需要时,VS可以为你自动生成。

㈢ 在linux系统应用make命令时,makefile 与makefile有何区别

分析linux
make命令与Makefile的区别:
1、make命令有一些内置的默认功能,但是光有这个还是不知道怎么build程序。必须提供一个文件告诉make应用程序的构造,这个文件就是makefile。
2、Make和makefile提供了强大的功能来管理项目的编译以及发布install到指定文件夹
3、make的原理是执行一个叫Makefile文件里的指令,make的基本用处是自动根据makefile里的指令来编译源文件。还可以用来做比如安装软件,卸载软件等事情,但前提是在makefile里写了。
4、比如makefile里有这么些内容:
install
:
<
commands
>
然后用make
install的话,make程序就会按照上面install:后面的指令<
commands
>执行安装,uninstall也是一样的道理,大部分的作者会写有卸载的部分,这时只要简单地执行make
unistall就可以,如果作者懒没有写,那就只有根据make
install中的步骤,把什么文件拷到哪去了,然后分别手动删除。还有关键的一点是,编译安装完成后,不要删除源代码,不然就算作者写了unnistall目标,也没有makefile可以执行了。

㈣ linux 命令行怎么写make makefile命令

无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make
install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和
makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员
来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。因此,有效的利用make和
makefile工具可以大大提高项目开发的效率。同时掌握make和makefile之后,您也不会再面对着Linux下的应用软件手足无措了。
但令人遗憾的是,在许多讲述Linux应用的书籍上都没有详细介绍这个功能强大但又非常复杂的编译工具。在这里我就向大家详细介绍一下make及其描述文件
makefile。
Makefile文件
Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写,文件

需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。makefile 文件是许多编译器--包括 Windows NT
下的编译器--维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile 文件而已。

㈤ linux 下的makefile 中的命令

Linux echo命令不能显示文件中的内容。
功能说明:显示文字。
语 法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参 数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
--help 显示帮助
--version 显示版本信息

㈥ 上一次输入的命令,还有makefile怎么用

makefile 文件是一个命令的集合,指导shell生成需要的目标文件。生成的目标文件一般在当前目录下。你可以在shell下使用 ./@@@ 来执行生成的目标文件。@@@ 是生成的目标文件的文件名。我看你的问题,估计makefile 不是你写的,应该是在安装别人的软件。这种情况makefile 里一般有个install 目标,,你在make后直接在shell中输入make install 就OK了。
你要是还有什么问题可以把makefile文件发给我,我给你看看。

㈦ 如何使用makefile

以hello_test.c文件为例
1.创建程序
在linux控制台界面下
,输入vi
hello_test.c,输入i进入编辑插入模式,输入代码如下:
#include
<stdio.h>
int
main(void)
{
printf("Hello,Word!/n");
return
0;
}
用gcc编译程序
输入命令:gcc
hello_test.c
输入命令:ls
显示:a.out
hello_test.c
输入命令:./a.out
//执行程序
2.使用Makefile
(1)创建Makefile,在hello_test.c所在目录输入
vi
Makefile
(2)输入Makefile内容。在vi插入模式下输入:
hello_test
:
hello_test.c
gcc
-o
hello_test
hello_test.c
//特别注意
gcc前面不是空格,而是tab间隔符,否则会出现makefile:2:
***
遗漏分隔符错误
clean
:
rm
-fr
hello_test
*.o
*.core
(3)输入make,屏幕输出
gcc
-o
hello_test
hello_test.c,表示编译已经通过。
生成
hello_test。

㈧ makefile 文件介绍

makefile文件主要有以下五种组成部分。显式规则:显式规则说明了生成一个或多个目标文件的方法和步骤。这是在编写makefile文件时明显指出的,包括要生成的文件、生成文件的依赖文件以及生成的命令等。隐式规则:由于make工具有自动推导的功能,所以在编写makefile文件的时候可以利用该规则,简略地书写makefile。再由 make 工具本身自动推导需要使用的规则。变量的定义: make工具支持变量的定义,这些变量往往都是字符串,因此makefile中的变量更像是C语言中的宏。当makefile被执行时,其中的变量都会被展开到相应的引用位置上。
文件指示:其包括三个部分,一个是在一个makefile中引用另一个makefile,就像C语言中的include一样。另一个是指根据某些情况指定makefile中的有效部分,就像C语言中的预编译tlif一样。还有就是定义一个多行的命令。
注释: makefile 中支持行注释,这一点需要特别注意。makefile 中的注释和 shell脚本一样,其注释是用“#”字符。如果需要在 makefile中使用“#”字符,可以用‘\’对其进行转义。例如,“\#”表示一个‘#’字符。makefile文件的文件名最好命名为makefile或者Makefile。因为在默认的情况下,make命令会在当前目录下按顺序找寻这两个文件进行解释。用户也可以为makefile文件自定义一个文件名,例如,Make.makefile,Make.admin等。

阅读全文

与makefile命令相关的资料

热点内容
国产单片机厂商 浏览:56
苹果手机怎么设置不更新app软件 浏览:283
转行当程序员如何 浏览:491
苹果id怎么验证app 浏览:862
查看手机命令 浏览:952
抖音反编译地址 浏览:224
如何加密软件oppoa5 浏览:231
java从入门到精通明日科技 浏览:93
拆解汽车解压视频 浏览:595
新版百度云解压缩 浏览:591
android上下拉刷新 浏览:878
centos可执行文件反编译 浏览:836
林清玄pdf 浏览:270
黑马程序员java基础 浏览:283
awss3命令 浏览:358
百度店铺客户订单手机加密 浏览:501
钉钉班群文件夹怎么上传文件 浏览:749
人社app怎么解绑手机 浏览:101
caj文件夹打不开 浏览:475
什么app可以将电量变色 浏览:692