-EXTRA_DIST += vswitchd/vswitch-idl.ovsidl
-BUILT_SOURCES += vswitchd/vswitch-idl.c vswitchd/vswitch-idl.h
-DISTCLEANFILES += vswitchd/vswitch-idl.c vswitchd/vswitch-idl.h
-noinst_DATA += vswitchd/vswitch-idl.ovsschema
-DISTCLEANFILES += vswitchd/vswitch-idl.ovsschema
-vswitchd/vswitch-idl.c vswitchd/vswitch-idl.h vswitchd/vswitch-idl.ovsschema: \
- ovsdb/ovsdb-idlc.in
+# vswitch schema documentation
+EXTRA_DIST += vswitchd/vswitch.xml
+dist_man_MANS += vswitchd/ovs-vswitchd.conf.db.5
+vswitchd/ovs-vswitchd.conf.db.5: \
+ ovsdb/ovsdb-doc.in vswitchd/vswitch.xml vswitchd/vswitch.ovsschema \
+ $(srcdir)/vswitchd/vswitch.pic
+ $(OVSDB_DOC) \
+ --title="ovs-vswitchd.conf.db" \
+ --er-diagram=$(srcdir)/vswitchd/vswitch.pic \
+ $(srcdir)/vswitchd/vswitch.ovsschema \
+ $(srcdir)/vswitchd/vswitch.xml > $@.tmp
+ mv $@.tmp $@