第6课

来源:互联网 发布:surge mac怎么用 编辑:程序博客网 时间:2024/05/20 23:59

一、变量值的替换

- 使用指定字符(串)替换变量值中的后缀字符(串)。

- 语法格式:$(var:a=b)或${var:a=b}

  替换表达式中不能有任何空格。

  make中支持使用 ${} 对变量进行取值。


示例:

src1 := a.cc b.cc c.ccobj1 := $(src1:cc=o)test1 :@echo "obj1 => $(obj1)"@echo "obj1 => ${obj1}"
输出:

obj1 => a.o b.o c.o
obj1 => a.o b.o c.o



二、变量的模式替换

- 使用 % 保留变量值中的指定字符,替换掉其他字符。

- 语法格式:$(var:a%b=x%y) 或 ${var:a%b=x%y}

  替换表达式中不能有任何的空格。

  make中支持使用 ${} 对变量进行取值。


示例:

src2 := a11b.c a22b.c a33b.cobj2 := $(src2:a%b.c=x%y)test2 :@echo "obj2 => $(obj2)"@echo "obj2 => ${obj2}"
输出:

obj2 => x11y x22y x33y
obj2 => x11y x22y x33y



三、规则中的模式替换

targets : target-pattern : prereq-pattern    command1    command2    ...
意义:

通过target-pattern 从 targets 中匹配子目标;再通过prereq-pattern从子目标生成依赖;进而构成完整的规则。