-EXTRA_DIST += tests/uuidfilt.pl tests/idltest.ovsidl
-BUILT_SOURCES += tests/idltest.c tests/idltest.h
-noinst_DATA += tests/idltest.ovsschema
-DISTCLEANFILES += tests/idltest.ovsschema
-tests/idltest.c tests/idltest.h tests/idltest.ovsschema: ovsdb/ovsdb-idlc.in
+
+# idltest schema and IDL
+OVSIDL_BUILT += tests/idltest.c tests/idltest.h tests/idltest.ovsidl
+IDLTEST_IDL_FILES = tests/idltest.ovsschema tests/idltest.ann
+EXTRA_DIST += $(IDLTEST_IDL_FILES)
+tests/idltest.ovsidl: $(IDLTEST_IDL_FILES)
+ $(OVSDB_IDLC) -C $(srcdir) annotate $(IDLTEST_IDL_FILES) > $@.tmp
+ mv $@.tmp $@
+