我有一个Makefile在一个目录下,该目录下有许多.pm(Perl文件) 我想在该目录级别上添加Makefile以进行Perl文件语法检查。 基本上我想添加:
perl -c <filename>
如何自动获取该目录中的文件列表,而无需硬编码。
我有一个Makefile在一个目录下,该目录下有许多.pm(Perl文件) 我想在该目录级别上添加Makefile以进行Perl文件语法检查。 基本上我想添加:
perl -c <filename>
ALL_PM_FILES = $(wildcard *.pm)
这是常规解决方法:
check_pm_syntax:
for file in *.pm; do ${PERL} -c $$file; done
make check_pm_syntax
',它会遍历所有可找到的 *.pm
文件并执行 shell 循环。如果你想的话,可以将 check_pm_syntax
列为 all
目标的先决条件(但这意味着每次构建 all
时都会执行此操作)。唯一会出现问题的情况是目录中没有 *.pm
文件。这里有一个稍微不同的方法:
.PHONY: check_%.pm check_%.pm: perl -c $*.pm
check_all: $(addprefix check_,$(wildcard *.pm))