diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Documentation/include.mk | 3 | ||||
-rw-r--r-- | Makefile.PL | 8 |
3 files changed, 11 insertions, 1 deletions
@@ -16,6 +16,7 @@ *.gz .*.cols .*.check +.*.lexgrog /NEWS.html /NEWS.atom /NEWS diff --git a/Documentation/include.mk b/Documentation/include.mk index df6c17e0..79bf460d 100644 --- a/Documentation/include.mk +++ b/Documentation/include.mk @@ -6,6 +6,7 @@ RSYNC = rsync RSYNC_DEST = public-inbox.org:/srv/public-inbox/ AWK = awk MAN = man +LEXGROG = lexgrog # this is "xml" on FreeBSD and maybe some other distros: XMLSTARLET = xmlstarlet @@ -56,6 +57,8 @@ check_man = $(AWK) '{gsub(/\b./,"")}length>80{print;err=1}END{exit(err)}'\ check-man :: $(check_80) +check-lexgrog :: $(check_lexgrog) + all :: $(docs) txt2pre = $(PERL) -I lib ./Documentation/txt2pre >$@ diff --git a/Makefile.PL b/Makefile.PL index 9d0a361a..b2f3393d 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -65,8 +65,12 @@ for my $i (@sections) { $t->{".$m.cols : $m.$i"} = [ "\@echo CHECK80 $m.$i;". "COLUMNS=80 \$(MAN) ./$m.$i | \$(check_man)" ]; + $t->{".$m.lexgrog: $m.$i"} = [ + "\@echo LEXGROG $m.$i;" . + "\$(LEXGROG) ./$m.$i >\$\@+ && mv \$\@+ \$@" ]; } push @{$v->{check_80}}, map { ".$_.cols" } @$ary; + push @{$v->{check_lexgrog}}, map { ".$_.lexgrog" } @$ary; my $manuals = $v->{"man$i"} = [ map { "$_.$i" } @$ary ]; push @{$v->{manuals}}, @$manuals; push @{$v->{mantxt}}, map { "Documentation/$_.txt" } @$ary; @@ -121,6 +125,8 @@ my %man3 = map {; # semi-colon tells Perl this is a BLOCK (and not EXPR) "lib/PublicInbox/$_" => "blib/man3/PublicInbox::$mod.\$(MAN3EXT)" } qw(Git.pm Import.pm WWW.pod SaPlugin/ListMirror.pod); my $warn_no_pod = @no_pod ? "\n\t\@echo W: missing .pod: @no_pod\n" : ''; +chomp(my $lexgrog = `which lexgrog 2>/dev/null`); +my $check_lexgrog = $lexgrog ? 'check-lexgrog' : ''; WriteMakefile( NAME => 'PublicInbox', # n.b. camel-case is not our choice @@ -184,7 +190,7 @@ $VARS -include Documentation/include.mk $TGTS -check-man ::$warn_no_pod +check-man :: $check_lexgrog$warn_no_pod # syntax checks are currently GNU make only: %.syntax :: % |