• Makefile——读《跟我一起写Makafile》


    重新回顾一下makefile,打好基础很重要!

    1、Makefile的规则

    target ... : prerequisites ...
        command
        ...
        ...
    

    target 也就是一个目标文件,可以是 Object File,也可以是执行文件。还可以是一个标签(Label)
    prerequisites 就是,要生成那个 target 所需要的文件或是目标。
    command 也就是 make 需要执行的命令。(任意的 Shell 命令)

    依赖关系的实质上就是说明了目标文件是由哪些文件生成的,换言之,目标文件是哪些文件更新的。make 会比较 targets 文件和 prerequisites 文件的修改日期,如果

    prerequisites 文件的日期要比 targets 文件的日期要新,或者 target 不存在的话,那么,make 就会执行后续定义的命令。


    2、makefile中变量的定义


    makefile中变量的定义和bash中变量的定义很像

    objects = main.o kbd.o command.o display.o \
    insert.o search.o files.o utils.o
    edit : $(objects)
        cc -o edit $(objects)

    3、make自动推导


    只要make看到一个[.o]文件,它就会自动的把[.c]文件加在依赖关系中,例如make找
    到一个whatever.o,那么whatever.c,就会是whatever.o 的依赖文件。

    “.PHONY”表示,clean是个伪目标文件。

    .PHONY : clean
    clean :
        -rm edit $(objects)
    

    rm前面加小减号意思是也许某些文件出现问题,但不要管,继续做后面的事。

    Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。

    文件搜寻


    Makefile文件中的特殊变量“VPATH”可以指定一个或多个目录,当make在当前目录找不到指定的依赖文件和目标文件,就会到VPATH所指定的目录中去找寻文件。
    VPATH = src:../headers
    上面的的定义指定两个目录,“src”和“../headers”,目录由“冒号”分隔。
    另一个设置文件搜索路径的方法是使用make的“vpath”关键字。
    1)vpath <pattern> <directories>
    为符合模式<pattern>的文件指定搜索目录<directories>。
    2)vpath <pattern>
    清除符合模式<pattern>的文件的搜索目录。
    3)vpath
    清除所有已被设置好了的文件搜索目录。

    ++++++++++++才看到16页,有空继续看呀!!!!

  • 相关阅读:
    iOS UITextField 设置内边距
    在网页中嵌入任意字体的解决方案
    基数等比,确定进制
    改善CSS编码的5个在线幻灯片教程
    head区的代码详解
    一个简单的、循序渐进的CSS幻灯片教程
    功能强大易用的Web视频播放器——Flowplayer(使用方法及演示)
    CSS:区分IE版本的三个方法
    CSS书写标准及最佳实践
    Sliding Photograph Galleries
  • 原文地址:https://www.cnblogs.com/bo083/p/2817009.html
Copyright © 2020-2023  润新知