We need to force an update to Makefile (not Makefile.PL) when
MANIFEST changes.  Since "Makefile" (aka. "$(FIRST_MAKEFILE)")
is already a single-colon make target; we can't create a
double-colon rule to augment it.  So we'll continue using a
"Makefile.PL" rule, but have it recreate the resulting Makefile

Finally, change the "check" target to use "prove -b" instead of
"prove -l" so we test against "blib/lib", since what's in the
"blib" dir will be installed.

Fixes: 4c20de0694d06ff3 ("Makefile.PL: add dependency on MANIFEST contents")
---
 Makefile.PL | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Makefile.PL b/Makefile.PL
index f650fdea..4aa0caa7 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -86,13 +86,16 @@ check-manifest :: MANIFEST
        if git ls-files >\$?.gen 2>&1; then diff -u \$? \$?.gen; fi
 
 check:: pure_all check-manifest
-       \$(EATMYDATA) prove -lvw -j\$(N)
+       \$(EATMYDATA) prove -bvw -j\$(N)
 
 lib/PublicInbox/UserContent.pm :: contrib/css/216dark.css
        \$(PERL) -I lib \$@ \$?
 
-# Ensure new .pm files will always be installed:
-Makefile.PL :: MANIFEST
+# Ensure new .pm files will always be installed by updating
+# the timestamp of Makefile.PL which forces Makefile to be remade
+Makefile.PL : MANIFEST
+       touch -r \$< \$@
+       \$(PERLRUN) \$@
 
 EOF
 }
--
unsubscribe: meta+unsubscr...@public-inbox.org
archive: https://public-inbox.org/meta/

Reply via email to