设置并检查目标内的空变量
Set and check for empty var inside a target
我创建了一个 make 目标,它从 git ls-files
获取文件列表并将它们传递给编码标准实用程序 phpcs
。
问题是如果没有文件返回,我不想 运行 它。 (因为它随后会尝试分析整个代码库)
phpcs:
FS=$$(git ls-files -om --exclude-standard '*.php'); \
vendor/bin/phpcs --encoding=utf-8 --extensions=php $$FS
第一行设置的$FS
为空如何退出?
我运行正在使用 OSX 附带的默认 gnu-make
。 (3.8.1
)
这不是真正的 makefile 问题。您正在使用 shell 命令来执行这些操作,因此您必须为您的问题想出一个 shell 解决方案:make 没有进入它。
你可以这样做:
phpcs:
FS=$$(git ls-files -om --exclude-standard '*.php'); \
test -z "$$FS" || vendor/bin/phpcs --encoding=utf-8 --extensions=php $$FS
PS。没有像 GNU make 3.8.1 这样的版本。你的意思是,我假设,GNU make 3.81.
我创建了一个 make 目标,它从 git ls-files
获取文件列表并将它们传递给编码标准实用程序 phpcs
。
问题是如果没有文件返回,我不想 运行 它。 (因为它随后会尝试分析整个代码库)
phpcs:
FS=$$(git ls-files -om --exclude-standard '*.php'); \
vendor/bin/phpcs --encoding=utf-8 --extensions=php $$FS
第一行设置的$FS
为空如何退出?
我运行正在使用 OSX 附带的默认 gnu-make
。 (3.8.1
)
这不是真正的 makefile 问题。您正在使用 shell 命令来执行这些操作,因此您必须为您的问题想出一个 shell 解决方案:make 没有进入它。
你可以这样做:
phpcs:
FS=$$(git ls-files -om --exclude-standard '*.php'); \
test -z "$$FS" || vendor/bin/phpcs --encoding=utf-8 --extensions=php $$FS
PS。没有像 GNU make 3.8.1 这样的版本。你的意思是,我假设,GNU make 3.81.