编写Makefile,可以为我们编译和链接程程带来大大的方便,今天在这里给大家聊下$(addprefix)的使用,先给大家看段Makefile的代码吧:
[plain] view plain copy
- INCLUDE_DIR=usr/java/jdk1.8.0_25/include \
- usr/java/jdk1.8.0_25/include/linux
- INCLUDE_FLAG=$(addprefix -I,${INCLUDE_DIR})
- all:
- ls ${INCLUDE_FLAG}
假如我们在命令行执行下面的命令:
[cpp] view plain copy
- make
此时,我们将会看到这样的输出:
看到了吗?命令ls后面两个的路径的前面都被添加了-I,和你想像的一样,该addprefix就是用于添加前缀的,格为:
[plain] view plain copy
- $(addprefix fixstring,string1 string2 ...)
其中,fixstring表示任意要添加的固定前缀,在逗号的后面可以是一个或多个要添加前缀的子字符串,多个子字符串之间用空格隔开,当然,你也可以像前面的例子一样用变量。