• GNU make manual 翻译( 一百五十九)


    继续翻译

       A computed variable name need not consist entirely of a single
    variable reference.  It can contain several variable references, as
    well as some invariant text.  For example,
    
         a_dirs := dira dirb
         1_dirs := dir1 dir2
    
         a_files := filea fileb
         1_files := file1 file2
    
         ifeq "$(use_a)" "yes"
         a1 := a
         else
         a1 := 1
         endif
    
         ifeq "$(use_dirs)" "yes"
         df := dirs
         else
         df := files
         endif
    
         dirs := $($(a1)_$(df))
    
    will give `dirs' the same value as `a_dirs', `1_dirs', `a_files' or
    `1_files' depending on the settings of `use_a' and `use_dirs'.
    
       Computed variable names can also be used in substitution references:
    
         a_objects := a.o b.o c.o
         1_objects := 1.o 2.o 3.o
    
         sources := $($(a1)_objects:.o=.c)
    
    defines `sources' as either `a.c b.c c.c' or `1.c 2.c 3.c', depending
    on the value of `a1'.

    一个被计算的变量名不需要有一个单独的变量参照组成。它可以包含几个变量参照,也可以包含静态文本。例如,

      a_dirs := dira dirb

      1_dirs := dir1 dir2

      a_files := filea fileb
      1_files := file1 file2

      ifeq "$(use_a)" "yes"
        a1 := a
      else
        a1 := 1
      endif

      ifeq "$(use_dirs)" "yes"
        df := dirs
      else
        df := files
      endif

      dirs := $($(a1)_$(df))

    将要给出 `dirs' 的值为 `a_dirs', `1_dirs', `a_files' 或者
    `1_files' ,这取决于 `use_a' 或者 `use_dirs'.

    被计算的变量名字也可以用在替换参照中:

      a_objects := a.o b.o c.o

      1_objects := 1.o 2.o 3.o

      sources := $($(a1)_objects:.o=.c)

    定义 `sources' 为 `a.c b.c c.c' 或者 `1.c 2.c 3.c', 取决于`a1'的值。

    后文待续

  • 相关阅读:
    天堂Lineage(單機版)從零開始架設教學 Installing Lineage 3.52 Server
    /dev/random vs /dev/urandom
    Linux Interactive Exploit Development with GDB and PEDA
    Python : Polymorphism
    Python : Data Encapsulation
    Using Keyboard Navigation
    Capture pictures using Jpython
    Java并发编程:volatile关键字解析
    java 资料收集
    解决ubuntu侧边栏固定应用单击无反应的问题
  • 原文地址:https://www.cnblogs.com/gaojian/p/2711255.html
Copyright © 2020-2023  润新知