大部分make命令都支持Makefile和makefile这两种文件名,.mk文件表示makefile子文件。

使用include关键字可以把别的makefile包含进来,被包含的文件会原模原样的放在当前文件的包含位置,所以包含include是有前后顺序的。

如果当前目录下找不到makefile,make还会在下面几个目录下寻找: 
a.如果make执行时,有“-I”或“–include-dir”参数,则make就会在这个参数所指定的目录下去寻找 
b.如果目录prefix/include(一般是/usr/local/bin或/usr/include)存在的话,make也会去找。

如果文件没有找到的话,make会生成一条警告信息,但不会马上出现致命错误。它会继续载入其它文件,一旦完成makefile的读取,make会再次尝试,如果还没有找到才会出现一条致命错误。如果你想让make不理那些无法读取的文件,只要在include前加一个减号“-”。

比如:创建makefile和a.mk文件

makefile文件内容如下:

test:main.o
    gcc -o test main.o

-include a.mk

clean:
    rm test main.o

a.mk文件内容如下:

main.o:main.c
    gcc -c main.c

makefile之引用(3)相关推荐

  1. C语言高级技巧-在Makefile中引用你的头文件

    在Makefile中添加头文 代码仓库:Makefile中添加头文件引用 我们常这样写C程序: #inlcude <stdio.h>int main(int argc, char *arg ...

  2. linux Makefile引用与环境变量

    一.Makefile中的引用 一个makefile中引用另一个makefile,其写法与C语言include 类似. make 命令开始时,会搜寻 include 所包含的其它 Makefile,并把 ...

  3. 浅显易懂 Makefile 入门 (01)— 什么是Makefile、为什么要用Makefile、Makefile规则、Makefile流程如何实现增量编译

    1. 什么是 Makefile Makefile 文件描述了 Linux 系统下 C/C++ 工程的编译规则,它用来自动化编译 C/C++ 项目.一旦写编写好 Makefile 文件,只需要一个 ma ...

  4. makefile学习(转载)

    该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...

  5. Makefile语法基础介绍

    在Linux下,make是一个命令工具,是一个解释Makefile中指令的命令工具.make命令执行时,需要一个Makefile文件,以告诉make命令需要怎么样去编译和链接程序. make如何工作: ...

  6. GNU make 和 makefile

    GNU make 和 makefile 1.9.1?GNU make 在大型的开发项目中,通常有几十到上百个的源文件,如果每次均手工键入 gcc 命令进行编译的话,则会 非常不方便.因此,人们通常利用 ...

  7. Makefile详解(一)-介绍及总述

    以下内容为转载:http://zhan.renren.com/ilinux?from=template   Makefile详解 序       编译时,编译器需要的是语法的正确,函数与变量的声明的正 ...

  8. 5、Makefile基础知识汇总(转自陈皓总述)

    一.Makefile里有什么? Makefile里主要包含了五个东西:显式规则.隐晦规则.变量定义.文件指示和注释. 1.显式规则.显式规则说明了,如何生成一个或多的的目标文件.这是由Makefile ...

  9. Linux makefile 教程

    最近在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出 ...

最新文章

  1. 1.数字图像获取:1.4图像的数据结构与特征
  2. 主流微服务全链路监控系统之战
  3. 用力和应变片计算弹性模量_第4章 力学量传感器.pptx
  4. android没有捂脸表情,Emoji神器 | 如果你也喜欢[捂脸]表情
  5. Golang之funcval结构体
  6. distance在函数 int_Arduino智能小车——超声波避障
  7. 单词字符的one-hot编码
  8. c++多线程——基于锁和条件变量的前程安全队列
  9. 分享自TERRY-V 《Qt Creator生成带图标的exe文件》
  10. vue rem移动端适配
  11. 线程7种状态的相互转换
  12. java的重载 和重写
  13. 366万常用的中 txt 网盘_人间值得 – 中村恒子 pdf+azw3+epub+mobi+txt+docx|百度网盘资源分享...
  14. 哪种存储器是非易失的_ROM是易失性存储器还是非易事性存储器?
  15. turtle库进阶练习
  16. USB接口定义详解(图)
  17. LM2596降压DCDC芯片
  18. 基于时空图卷积网络预测交通流
  19. css td中画斜线,css 模拟表格斜线
  20. 腾讯3轮面试都问了Android事件分发,最强技术实现

热门文章

  1. MySQL入门之select、from、join、where子句及基本匹配符
  2. python复制代码会被发现吗,我发现了一个记忆代码片段,我想知道它在复制。复制...
  3. react中嵌入网页_在网站中添加 React
  4. Retroifit原理
  5. 数据结构之栈的应用:表达式求值
  6. 计算机网络之传输层:6、TCP流量控制、滑动窗口协议
  7. socket 选项 详细说明
  8. Java十进制转换为二进制的无符号数
  9. error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
  10. 18.IDA-创建自己的sig(创建自己的标签)