zoukankan      html  css  js  c++  java
  • makefile 学习的点滴总结-(3)

    目录

    1、变量"VPATH",一般搜索。

    2、关键字"vpath",选择性搜索。

    3、库文件的搜索规则

    4、强制目标

    ///////////////////////////////////////////////////////////////////////////////////////////////////////

    1、VPATH用于指定搜索路径,用"空格"或者":"进行分隔。如:

    VPATH = src:../headers

    在搜索当前目录后搜索指定的两个路径:src和../headers

    ////////////////////////////////////////////////////////////////////////////////////////////////////////

    2、vpath %.h ../headers
     
    其含义是:Makefile 中出现的.h 文件;如果不能在当前目录下找到,则到目录
    “../headers ”下寻找。

    ////////////////////////////////////////////////////////////////////////////////////////////////////////

    3、库文件的搜索规则

    (1) 当前目录下搜索

    (2)在VPATH或者vpath下搜索

    (3)在系统库文件存在的默认目录,顺序是:“/lib ”、“/usr/lib ”和“PREFIX/lib ”(在
            Linux 系统中为“/usr/local/lib”,其他的系统可能不同)。

    ////////////////////////////////////////////////////////////////////////////////////////////////////////

    4、强制目标 

    clean: FORCE
       rm $(objects)
     FORCE:

    目标不是一个文件名,在执行规则时总是被认为是最新的,因此作为依赖的规则定义的命令总是被执行。

    ////////////////////////////////////////////////////////////////////////////////////////////////////////

     5、空目标

    空目标的依赖文件被改变以后,空目标所在的规则命令就会被执行:

    print: foo.c bar.c
      lpr -p $?
      touch print

    命令“lpr –p $? ”  打印这个被修改的文件

    ////////////////////////////////////////////////////////////////////////////////////////////////////////

  • 相关阅读:
    系统架构设计师考试大纲
    常用数据结构及复杂度( 转)
    八种主流NoSQL数据库系统对比(转)
    C# Redis Server分布式缓存编程(二)(转)
    C# Redis Server分布式缓存编程(一)(转)
    js去掉字符串前后空格的五种方法(转)
    给力分享新的ORM => Dapper( 转)
    我所经历的“余额宝”的那些故事(转)
    在PowerDesigner中设计物理模型1——表和主外键(转)
    Object.keys(obj)
  • 原文地址:https://www.cnblogs.com/hxu7373/p/3445263.html
Copyright © 2011-2022 走看看