Makefile 使文件在目录中的文件之间循环

Makefile 使文件在目录中的文件之间循环,makefile,Makefile,我想在一个目录上循环,重复选择所有具有给定扩展名的文件,并回显文件路径。不知何故,这是不工作,但我所读到的到现在为止,这应该工作。如果我在iTerm中运行它,它会工作,我会看到文件,但是当我使用make运行它时,我只会得到空的回显行。行的数量是正确的,我只是看不到文件路径 操作系统:macOS 10.14.5 品牌:GNU品牌3.81 clean: for f in log/**/*.log; do \ echo $f; \ done 我看到的答案是: 还有一些

我想在一个目录上循环,重复选择所有具有给定扩展名的文件,并回显文件路径。不知何故,这是不工作,但我所读到的到现在为止,这应该工作。如果我在iTerm中运行它,它会工作,我会看到文件,但是当我使用make运行它时,我只会得到空的回显行。行的数量是正确的,我只是看不到文件路径

操作系统:macOS 10.14.5 品牌:GNU品牌3.81

clean:
    for f in log/**/*.log; do \
        echo $f; \
    done
我看到的答案是:

还有一些,但没有必要全部指出
有两个错误

首先,**不是POSIX,但默认使用/bin/sh。因此,您必须在makefile中设置另一个shell,例如shell=/bin/bash

接下来,echo$f;\在将make馈送到shell之前,通过make进行扩展。所以你必须用双美元来逃避它:echo$$f\