码迷,mamicode.com
首页 > 系统相关 > 详细

Linux - 用make进行工程编译

时间:2015-08-11 23:36:51      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:linux   makefile   make   

首先建立好自己的工作目录

技术分享

然后创建主函数main.cpp

技术分享

接着写sinValue.h和cosValue.h函数文件

技术分享


技术分享


先按照传统方式进行编译运行

技术分享


然后用make,先写makefile文件

技术分享

将原来生成的文件删除,运行make

技术分享

搞定,下面多尝试几个make的基本语法与变量。


基本的 makefile 守则是这样的:

目标(target): 目标档1 目标档2
<tab>   gcc -o 欲创建的运行档 目标档1 目标档2
 
    在 makefile 当中的 # 代表注解;
    <tab> 需要在命令行 (例如 gcc 这个编译器命令) 的第一个字节;
    目标 (target) 与相依文件(就是目标档)之间需以『:』隔开。

继续上面的程序进行测试,在makefile中添加:

技术分享

以新的target(clean)测试看看运行make的结果

技术分享

如果想先清楚目标档再编译main这个程序的话,就可以输入【make clean main】:

技术分享


可以像shell script来简化makefile:

技术分享


与 bash shell script 的语法有点不太相同,变量的基本语法为:

    1、变量与变量内容以『=』隔开,同时两边可以具有空格;
    2、变量左边不可以有 <tab> ,例如上面范例的第一行 LIBS 左边不可以是 <tab>;
    3、变量与变量内容在『=』两边不能具有『:』;
    4、在习惯上,变量最好是以『大写字母』为主;
    5、运用变量时,以 ${变量} 或 $(变量) 使用;
    6、在该 shell 的环境变量是可以被套用的,例如提到的 CFLAGS 这个变量!
    7、在命令列模式也可以给予变量。


环境变量取用的守则是这样的:

    1、make 命令列后面加上的环境变量为优先;
    2、makefile 里面指定的环境变量第二;
    3、shell 原本具有的环境变量第三。

此外,还有一些特殊的变量需要了解的:

    $@:代表目前的标的(target)

        所以我也可以将 makefile 改成:

技术分享


技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux - 用make进行工程编译

标签:linux   makefile   make   

原文地址:http://blog.csdn.net/zyq522376829/article/details/47426875

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!