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)
diff --git a/runtime/syntax/testdir/README.txt b/runtime/syntax/testdir/README.txt
index 6703228..d8ac066 100644
--- a/runtime/syntax/testdir/README.txt
+++ b/runtime/syntax/testdir/README.txt
@@ -67,8 +67,8 @@
 
 	make test
 
-Or you can run the tests for a filetype only by passing its file extension as
-another target, e.g. "java", before "test":
+Or you can run the tests for a filetype only by passing its name as another
+target, e.g. "java", before "test":
 
 	make java test
 
diff --git a/runtime/syntax/testdir/tools/maketestdeps b/runtime/syntax/testdir/tools/maketestdeps
new file mode 100755
index 0000000..61bf061
--- /dev/null
+++ b/runtime/syntax/testdir/tools/maketestdeps
@@ -0,0 +1,38 @@
+#!/bin/bash
+# This script generates auxiliary recipes for 'make test': e.g. in the case of JAVA,
+# - a phony target 'java' depends on all of the testdir/input/java*.java
+# - when the syntax file is changed, timestamps of the JAVA files are updated so that the tests will
+#   be rerun against updated syntax
+# - when a vim setup file for test, e.g. testdir/input/setup/java_module_info.vim, is changed,
+#   timestamp of the corresponding input, testdir/input/java_module_info.java, is updated
+#
+# NOTE: At the moment this script DOES NOT strictly track dependency, like cpp on c, so run
+# `make clean test` before deployment
+
+set -eu +f -o pipefail
+
+cd "$(dirname "$0")"/../..
+for input in testdir/input/*.*; do
+	dirname=$(dirname "$input")
+	basename=$(basename "$input")
+
+	case "$basename" in
+		vim9_*.*) ft=vim;;
+		*_*.*) ft=${basename%%_*};;
+		*.*) ft=${basename%%.*};;
+		*) exit 1
+	esac
+
+	vimsetup=$dirname/setup/${basename%.*}.vim
+	if [ ! -r "$vimsetup" ]; then
+		vimsetup=
+	fi
+
+	cat << EOF
+$input: $ft.vim $vimsetup
+	touch -c \$@
+$basename:: $input
+$ft:: $basename
+
+EOF
+done
