diff --git a/Makefile.am b/Makefile.am
index 32cb21f38c3369a06587557cda9e29ff2d99ecfc..539541f7fc5fde3a2b9d7dd92524442d568fce33 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -188,7 +188,13 @@ EXTRA_DIST+= \
 	scripts/maint/practracker/testdata/header.h 	\
 	scripts/maint/practracker/testdata/not_c_file	\
 	scripts/maint/practracker/test_practracker.sh   \
-	scripts/maint/practracker/util.py
+	scripts/maint/practracker/util.py		\
+	scripts/coccinelle/apply.sh			\
+	scripts/coccinelle/check_cocci_parse.sh		\
+	scripts/coccinelle/exceptions.txt		\
+	scripts/coccinelle/test-operator-cleanup	\
+	scripts/coccinelle/tor-coccinelle.h		\
+	scripts/coccinelle/try_parse.sh
 
 ## This tells etags how to find mockable function definitions.
 AM_ETAGSFLAGS=--regex='{c}/MOCK_IMPL([^,]+,\W*\([a-zA-Z0-9_]+\)\W*,/\1/s'
@@ -246,7 +252,7 @@ test: all
 shellcheck:
 	$(top_srcdir)/scripts/maint/checkShellScripts.sh
 
-check-local: check-spaces check-changes check-includes check-best-practices shellcheck
+check-local: check-spaces check-changes check-includes check-best-practices shellcheck check-cocci
 
 need-chutney-path:
 	@if test ! -d "$$CHUTNEY_PATH"; then \
@@ -379,6 +385,9 @@ if USEPYTHON
 	@$(PYTHON) $(top_srcdir)/scripts/maint/practracker/practracker.py $(top_srcdir) $(TOR_PRACTRACKER_OPTIONS)
 endif
 
+check-cocci:
+	VERBOSE=1 $(top_srcdir)/scripts/coccinelle/check_cocci_parse.sh $(OWNED_TOR_C_FILES)
+
 practracker-regen:
 	$(PYTHON) $(top_srcdir)/scripts/maint/practracker/practracker.py --regen $(top_srcdir)