From 42359e39a591dcf68ce02a5fc2dd703ba68f0f77 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 25 Aug 2015 02:03:15 +0000 Subject: [PATCH] Makefile.PL: add "syntax" target to check syntax This is necessary since Xapian may not be installed and we may hide a lot of errors this way. --- Makefile.PL | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Makefile.PL b/Makefile.PL index a9b15cab..ccf4bbb8 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -3,14 +3,16 @@ # License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt) use strict; use ExtUtils::MakeMaker; +my @EXE_FILES = split("\n", `git ls-files 'public-inbox*' 2>/dev/null`); +my $PM_FILES = `git ls-files lib '*.pm' 2>/dev/null`; +$PM_FILES =~ tr/\n/ /; + WriteMakefile( NAME => 'public-inbox', VERSION => '0.0.0', AUTHOR => 'Eric Wong ', ABSTRACT => 'public-inbox server infrastructure', - EXE_FILES => [qw/public-inbox-mda public-inbox.cgi - public-inbox-learn public-inbox-init - public-inbox-index/], + EXE_FILES => \@EXE_FILES, PREREQ_PM => { # note: we use ssoma(1) and spamc(1), NOT the Perl modules # We also depend on git through ssoma. @@ -32,11 +34,19 @@ WriteMakefile( ); sub MY::postamble { - <<'EOF'; + </dev/null || echo 2) + 1))) +my_syntax := \$(addsuffix .syntax, $PM_FILES \$(EXE_FILES)) + +N := \$(shell echo \$\$(( \$\$(nproc 2>/dev/null || echo 2) + 1))) + +%.syntax :: + @\$(PERL) -I lib -c \$(subst .syntax,,\$@) + +syntax:: \$(my_syntax) + check:: pure_all - prove -lv -j$(N) + prove -lv -j\$(N) EOF } -- 2.44.0