Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 3d99498b41b7a24512b21baeb42c27ede778ece8)
+++ tests/Makefile.am	(revision a109bb47c880eba8f7f5e931fee394306ead0435)
@@ -16,4 +16,5 @@
 
 AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
+ACLOCAL_AMFLAGS  = -I automake
 
 include $(top_srcdir)/src/cfa.make
@@ -44,7 +45,9 @@
 .PHONY: list .validate
 .INTERMEDIATE: .validate .validate.cfa
-EXTRA_PROGRAMS = avl_test # build but do not install
+EXTRA_PROGRAMS = avl_test .dummy_hack # build but do not install
 
-avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c
+avl_test_SOURCES = avltree/avl_test.cfa avltree/avl0.cfa avltree/avl1.cfa avltree/avl2.cfa avltree/avl3.cfa avltree/avl4.cfa avltree/avl-private.cfa
+# automake doesn't know we still need C rules so pretend like we have a C program
+_dummy_hack_SOURCES = .dummy_hack.c
 
 #----------------------------------------------------------------------------------------------------------------
@@ -67,5 +70,6 @@
 	@echo "int main() { return 0; }" > ${@}
 
-dummy_hack.c:
+# automake doesn't know we still need C rules so pretend like we have a C program
+.dummy_hack.c:
 	@echo "int main() { return 0; }" > ${@}
 
@@ -76,7 +80,4 @@
 
 # implicit rule so not all test require a rule
-% : %.c $(CFACC)
-	$(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
-
 % : %.cfa $(CFACC)
 	$(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
@@ -107,5 +108,5 @@
 
 #builtins
-builtins/sync: builtins/sync.c $(CFACC)
+builtins/sync: builtins/sync.cfa $(CFACC)
 	$(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
 
@@ -132,17 +133,17 @@
 
 # Constructor/destructor tests
-raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CFACC)
+raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC)
 	$(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
 
-raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CFACC)
+raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC)
 	$(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
 
-raii/memberCtors-ERR1: raii/memberCtors.c $(CFACC)
+raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC)
 	$(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
 
-raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CFACC)
+raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC)
 	$(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})
 
 # Warnings
-warnings/self-assignment: warnings/self-assignment.c $(CFACC)
+warnings/self-assignment: warnings/self-assignment.cfa $(CFACC)
 	$(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only
