由于zsh,Makefile没有扩展glob?

时间:2013-03-15 00:36:49

标签: makefile zsh

我的Makefile中有一行关于类似的内容:

prog /something/f.{one,two,three}

但运行make文件我从prog那里

/something/f.{one,two,three}不存在。这让我相信make 不是在扩展glob。通常这对我在Bash中起作用,但我现在正在运行zshell所以我认为这就是问题所在。任何人都知道如何可移植地指定该模式?

2 个答案:

答案 0 :(得分:1)

是否必须进行shell扩展? Make可以为您做类似的事情。这只是一种方法:

EXPANDED_POSTFIX := one two three
BASE_FILE := f.

PROG_FILE_LIST := $(foreach post,${EXPANDED_POSTFIX},${BASE_FILE}${post})

exec_prog:
    prog ${PROG_FILE_LIST}

答案 1 :(得分:1)

ThePosey建议的替代方法是使用addprefix

FILE_SUFFIXES := one two three
FILE_BASE := /something/f

FILES := $(addprefix $(FILE_BASE).,$(FILE_SUFFIXES))

my_rule:
    prog $(FILES)