• Linux学习笔记9——make和Makefile


    一,Makefile的文件名

      默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、“makefile”、“Makefile”的文件,大部分情况下,make命令都支持makefile和Makefile这两种命名。所以一般情况下都是将文件名命为这两个,没有后缀。

    二,Makefile内容格式语法

      目标名:依赖目标
                            @命令
                            @命令

    三,make命令行的使用

      1,通用情况:make -f make脚本文件  目标名,这种情况适用于没有使用makefile或Makefile文件名,而是使用其它格式的命名方式,如:

            我们有一个demo.mk的Makefile文件,它里面有一个demo的目标名,那么我们的make命令行就是make -f demo.mk demo

            当然我们需要先指明路径,用export LD_LIBRARY_PATH=.  如果Makefile里面使用了动态库,这样就指明该动态库是在当前的文件夹内,否则会出现undefined reference to的错误。

      2,当Makefile的文件名为makefile或Makefile时,可以直接使用make 目标名

      3,当要执行的目标名在文件的第一个目标时,可以直接使用make指令

    四,目标的调用规则:(make把目标当作文件)

      make执行目标:
                            搜索与目标相同的文件
                            如果文件存在,则判定日期。
                            日期最新,则停止执行,输出提示
                            日期不是最新,则进行执行。
                            比较:当前目标与依赖目标

    五,变量

      可以使用变量的方式来代替重复出现的文件名,定义的方式为:变量=值

      调用的方式为:$(变量名) 或 ${变量}

    六,伪目标

      伪目标”并不是一个文件,只是一个标签,由于“伪目标”不是文件,所以make无法生成它的依赖关系和决定它是否要执行。

      假设我们这有一个目标clean,它的定义是这样的

      clean:

        rm *.o        //它将删除所有.o格式的文件

      将clean声明为伪目标的格式为:  .PHONY clean

  • 相关阅读:
    windows2008下载
    js代码格式化
    javascript小实例【第二课时笔记】
    学习CSS的一些有效资源
    javascript小实例【第一课时笔记】
    关于HTML5的一些基础知识
    javascript小实例【第三课时笔记】
    c#缓存介绍(转)
    [C#] String与string的区别
    Asp.Net Cache缓存使用代码
  • 原文地址:https://www.cnblogs.com/zjzsky/p/3469612.html
Copyright © 2020-2023  润新知