diff --git a/runtime/syntax/Makefile b/runtime/syntax/Makefile
index e981ed0..6d8019c 100644
--- a/runtime/syntax/Makefile
+++ b/runtime/syntax/Makefile
@@ -38,33 +38,42 @@
 	@# Trace ruler liveness on demand.
 	@#mkdir -p testdir/failed
 	@#touch "$(VIM_SYNTAX_TEST_LOG)"
-	VIMRUNTIME=$(VIMRUNTIME) $(ENVVARS) $(VIMPROG) --clean --not-a-term $(DEBUGLOG) -u testdir/runtest.vim > /dev/null 
+	VIMRUNTIME=$(VIMRUNTIME) $(ENVVARS) $(VIMPROG) --clean --not-a-term $(DEBUGLOG) -u testdir/runtest.vim > /dev/null
 	@rm -f testdir/Xfilter
 	@# FIXME: Temporarily show the whole file to find out what goes wrong
 	@#if [ -f testdir/messages ]; then tail -n 6 testdir/messages; fi
 	@if [ -f testdir/messages ]; then cat testdir/messages; fi
 
+# add dependence on syntax files
+testdir/testdeps.mk:
+	./testdir/tools/maketestdeps > $@
+
+-include testdir/testdeps.mk
 
 clean testclean:
-	rm -f testdir/failed/* testdir/done/* testdir/vimcmd testdir/messages testdir/Xtestscript testdir/Xfilter
+	rm -f testdir/failed/* testdir/done/* testdir/vimcmd testdir/messages testdir/Xtestscript testdir/Xfilter testdir/testdeps.mk
 
 # All initial phony targets; these names may clash with file extensions.
 phonies = clean test testclean
+.PHONY: $(phonies)
 
-# Collect all input filenames and their file extensions.
+# Collect all input filenames and their file types.
 testnames != set +f; \
 awk 'BEGIN { \
-    for (i = 1; i < ARGC; i++) { \
-        split(ARGV[i], names, /\//); \
-        split(names[3], parts, /\./); \
-        exts[parts[2]]; \
-        print names[3]; \
-    } \
-    split("$(phonies)", scratch); \
-    for (phony in scratch) \
-        phonies[scratch[phony]]; \
-    for (ext in exts) \
-        print ext ((ext in phonies) ? "_" : ""); \
+	for (i = 1; i < ARGC; i++) { \
+		name = ARGV[i]; \
+		sub(/.+\//, "", name); \
+		print name; \
+		if (name ~ /.+_.+/) { \
+			sub(/_.+/, "", name); \
+		} else { \
+			sub(/.+\./, "", name) \
+		} \
+		if (name == "vim9") name = "vim"; \
+		exts[name]; \
+	} \
+	for (ext in exts) \
+		print ext; \
 }' testdir/input/*.*
 
 .PHONY: self-testing $(testnames)
