- <<'EOF';
-RSYNC_DEST = public-inbox.org:/srv/public-inbox/
-docs = README COPYING INSTALL $(shell git ls-files Documentation/ '*.txt')
-gz_docs = $(addsuffix .gz, $(docs))
-%.gz: %
- gzip -9 --rsyncable < $< > $@+
- touch -r $< $@+
- mv $@+ $@
-
-gz-docs: $(gz_docs)
-rsync-docs:
- git set-file-times $(docs)
- $(MAKE) gz-docs
- rsync --chmod=Fugo=r -av $(gz_docs) $(docs) $(RSYNC_DEST)
+ <<EOF;
+# support using eatmydata to speed up tests (apt-get install eatmydata):
+# https://www.flamingspork.com/projects/libeatmydata/
+EATMYDATA =
+N = \$\$(( \$\$(nproc 2>/dev/null || gnproc 2>/dev/null || echo 2) + 1 ))
+-include config.mak
+-include Documentation/include.mk
+SCRIPTS := scripts/ssoma-replay
+syn_files = $PM_FILES \$(EXE_FILES) \$(SCRIPTS) \$(wildcard t/*.t)
+my_syntax = \$(addsuffix .syntax, \$(syn_files))
+changed = \$(shell git ls-files -m)
+
+%.syntax ::
+ @\$(PERL) -w -I lib -c \$(subst .syntax,,\$@)
+
+syntax:: \$(filter-out lib/PublicInbox/DSKQXS.pm.syntax,\$(my_syntax))
+
+dsyn :: \$(addsuffix .syntax, \$(filter \$(changed), \$(syn_files)))
+
+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)
+
+lib/PublicInbox/UserContent.pm :: contrib/css/216dark.css
+ \$(PERL) -I lib \$@ \$?
+
+# Ensure new .pm files will always be installed:
+Makefile.PL :: MANIFEST