• makefile简单介绍


      现在的IDE环境大多是高度集成的,只需要按一个按钮即可完成编译-汇编-链接的工作,但是实际在嵌入式开发的过程中,需要根据实际需要编写个性化的需求,这就需要掌握makefile的写法。

      高级IDE的方便就是建立在makefile的基础之上,而makefile其实就是一个脚本文件,告诉编译器依赖文件以及编译规则,也就是类似于windows下的批处理文件。

      一个makefile是由若干个程序段组成的,每个段都有都有一组用来完成工作的命令集。程序段用目标名他(target)进行区分,目标也称作标号。不同的程序度需要关联时,在目标后可以有一个或者多个与程序段关联程序段的标号,每个关联标号之间用空格分隔,在命令集中,命令行必须以tab键开头,如以下格式:

      程序标号: 关联程序段目标1 关联程序段目标2

        命令集

      在任哲的书上有一个恰当的比喻来说明makefile是如何执行的:

      糖醋排骨: 糖 醋 排骨

        制作糖醋排骨

      糖:

        到商店去买糖

      醋:

        到商店去买醋

      排骨:

        到商店去买排骨

      实际上,如果利用make命令执行这个makefile,默认执行第一段,但是如果目标文件没有准备好,那就去寻找生成此目标文件的程序段。另外在编写makefile时,最好是将所有依赖写上去,这样表意清晰,格式整齐。另外有一种makefile的程序段有些特殊,这就是伪目标,伪目标简而言之就是对生成最后目标没有影响的target,比如清除工程中编译器自动产生的一些文件。

      makefile也可以定义变量,使用”变量名=值“即可声明一个变量,在引用这个变量时可以使用$(变量名)来进行引用。

      makefile中的注释使用#,如果依赖文件很长,可以使用‘’进行转行功能。

  • 相关阅读:
    IDEA 2019.3 最新激活教程,有效期到 2089 年!
    【猫狗数据集】读取数据集的第二种方式
    【猫狗数据集】计算数据集的平均值和方差
    【colab pytorch】其它注意事项
    【colab pytorch】训练和测试常用模板代码
    【colab pytorch】数据预处理
    【colab pytorch】提取模型中的某一层
    【colab pytorch】模型权重初始化
    【猫狗数据集】使用预训练的resnet18模型
    【猫狗数据集】使用top1和top5准确率衡量模型
  • 原文地址:https://www.cnblogs.com/ARM-LINUX-WANG/p/4996370.html
Copyright © 2020-2023  润新知