【发布时间】:2011-07-24 06:11:57
【问题描述】:
我正在尝试编写一个 makefile 来打包一些 PHP 脚本。我还希望它在构建最终 zip 文件之前检查语法错误(使用内置的 php lint 工具),以防止任何意外错误滑入。
目前为止
all: dist
clean:
rm -f output.zip
dist: clean
for i in `find . -name "*.php"`; do php -l $$i; done
zip -r output.zip src -x "*/.*" "*/tests*"
这可行,但如果出现 PHP 错误,我希望它中断而不继续构建 zip 文件(原因很明显)。目前,它们可能只是迷失在成功运行 lint 的输出页面和 zip 文件中。
我这样做的方式是否正确?我应该使用 make 循环而不是 shell 循环吗?如何让 make 在 shell 命令错误时中止?
【问题讨论】: