第一载:初识make与makefile

    我们写程序完成后,都需要进行编译才能运行,在一些集成的IDE(如vs2010、QT等),都提供有一键编译的功能,整个编译过程(预处理、编译、链接),IDE已经帮我们屏蔽了。但是在嵌入式或Linux平台下的开发,基本都是通过make跟makefile来管理整个工程项目,即源码与源码之间如何关联、依赖等等。除此之外,学习make跟makefile,可以使得开发人员对于程序的编译过程有更深层次的认识。下边简单来说说什么是make与makefile。

    make其实是一个程序,我们通过执行这个程序来编译我们的源码文件,而makefile泛指一类文件,这类文件中包含了我们所编写的源码文件之间的规则、关系等等,执行make程序的时候,将makefile这类文件作为make程序的参数,便可依据编写在makefile文件中的规则,来编译我们的源码。

    比如我们有一个makefile的文件叫make.txt(名字随便起),里边包含如下两行信息

target1:
    echo "this is target1"

target2:
    echo "this is target2"

    为了解释make.txt中的两行信息,我们先来了解下makefile文件的构成及基本的规则
    makefile文件总体上由目标命令构成(需要注意的是命令前边必须为tab键,即\t),再加上一些变量等等

目标:
    命令

     按照上边的目标与命令可以知道,target就是目标,echo "this is first makefile demo" 就是命令。现在makefile文件与基本的规则都准备完毕,下边通过如下命令执行make
    make -f make.txt  target2    (-f为制定makefile文件为make.txt,target2为文件中的目标,即要执行制定目标下的命令),执行结果如下

    其实make还可以简化,假如我们将make.txt改名为makefile或Makefile,那么久需要用-f指定文件名,make程序会主动在当前目录下寻找makefile或Makefile作为makefile文件,除此外,我们也可以不指定目标,此时make就会去执行makefile文件中最顶部的目标所对应的命令。为此,我们将make.txt改为makefile,并执行如下命名:
    make

    可以看到,make会在当前目录下=主动寻找makefile,并执行最顶部目标的命令,当然我们也可以这样执行:make target2,那么此时执行的就是target2这个目标下命令。

总结:
    1、make是一个可执行程序,主要用于编译源码、管理工程
    2、makefile本质是一个源码文件,其中包含各种规则,主要是各个源码文件之间的关联关系
    3、make依据makefile内部的规则,对我们编写的源代码进行编译连接等操作。

以上内容参考《狄泰软件学院》操作系统篇之 - makefile专题

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值