在makefile中使用花括号进行变量扩展不起作用

Nec*_*zun 11 bash shell makefile ubuntu-12.04

当我在shell上运行下面的命令时,它可以正常工作.但是如果我在Makefile中写它并用"make"命令调用它就不起作用.

cp wpa_ {cli,supplicant,passphrase,event}/usr/local/bin /

"make"命令后出错:

cp:无法统计`wpa_ {cli,supplicant,passphrase,event}':没有这样的文件或目录

我该怎么做才能使它与Makefile一起使用?我使用的是Ubuntu 12.04.相同的Makefile适用于其他Linux发行版.

Ste*_*e K 21

Make默认使用老式Bourne shell(/ bin/sh),不支持大括号扩展.如果尚未设置,请将makefile中的SHELL变量设置为/ bin/bash.

  • 所以我们应该添加`SHELL=/bin/bash` 作为第一行? (2认同)