在 for 循环中使用 seq 时我的 Makefile 出错

Error in my Makefile when using seq in a for loop

我有以下 Makefile:

MYVAR = 10

target:
    for i in $(seq 0 $MYVAR)
    do
        echo "test" . $i
    done

基本上我想要得到的是...

test 1
test 2
...
test n

当我尝试 运行 它时,我得到:

我在 语法错误:文件意外结束

正确的魔法是什么?

正确的语法是:

MYVAR = 10

target:
    for i in $$(seq 0 $(MYVAR)); \
    do \
        echo "test" . $$i; \
    done

运行方式如下:

$ make
for i in $(seq 0 10); \
do \
    echo "test" . $i; \
done
test . 0
test . 1
test . 2
test . 3
test . 4
test . 5
test . 6
test . 7
test . 8
test . 9
test . 10

(我不确定 echo 命令中的 . 是什么意思,如果它不是错字的话)。

请注意,主要是在配方的 shell 命令中,任何 $... 打算由 shell 扩展必须转义为 $$... 以便它是 未由 make 本身展开。