2019-04-21 11:50:48 +08:00

29 lines
2.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1 id="make">make</h1>
<p>GNU的工程化编译工具</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>make命令</strong> 是GNU的工程化编译工具用于编译众多相互关联的源代码问价以实现工程化的管理提高开发效率。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">make(选项)(参数)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">-f指定“makefile”文件
-i忽略命令执行返回的出错信息
-s沉默模式在执行之前不输出相应的命令行信息
-r禁止使用build-in规则
-n非执行模式输出所有执行命令但并不执行
-t更新目标文件
-qmake操作将根据目标文件是否已经更新返回&quot;0&quot;或非&quot;0&quot;的状态信息;
-p输出所有宏定义和目标文件描述
-dDebug模式输出有关文件和检测时间的详细信息。</code></pre>
<p>Linux下常用选项与Unix系统中稍有不同下面是不同的部分</p>
<pre><code class="language-bash">-c dir在读取 makefile 之前改变到指定的目录dir
-I dir当包含其他 makefile文件时利用该选项指定搜索目录
-hhelp文挡显示所有的make选项
-w在处理 makefile 之前和之后,都显示工作目录。</code></pre>
<h3 id="参数">参数</h3>
<p>目标:指定编译目标。</p>
<h3 id="知识扩展">知识扩展</h3>
<p>无论是在linux 还是在Unix环境 中make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件我们都经常要用到make或make install。利用make工具我们可以将大型的开发项目分解成为多个更易于管理的模块对于一个包括几百个源文件的应用程序使用make和 makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。</p>
<p>而且如此多的源文件如果每次都要键入gcc命令进行编译的话那对程序员 来说简直就是一场灾难。而make工具则可自动完成编译工作并且可以只对程序员在上次编译后修改过的部分进行编译。</p>
<p>因此有效的利用make和 makefile工具可以大大提高项目开发的效率。同时掌握make和makefile之后您也不会再面对着Linux下的应用软件手足无措了。</p>
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->