-# MARC8 conversion is generated from charconv.sgm + codetables.xml
-marc8.c: charconv.tcl charconv.sgm codetables.xml
- cd $(srcdir); ./charconv.tcl -p marc8 codetables.xml -o marc8.c
+# MARC8->UTF8 conversion is generated from codetables.xml
+marc8.c: charconv.tcl codetables.xml
+ $(TCLSH) $(srcdir)/charconv.tcl -p marc8 $(srcdir)/codetables.xml -o marc8.c
+
+# UTF-8->MARC8 conversion is generated from codetables.xml
+marc8r.c: charconv.tcl codetables.xml
+ $(TCLSH) $(srcdir)/charconv.tcl -r -p marc8r $(srcdir)/codetables.xml -o marc8r.c
+
+# Generate diagnostics from CSVs
+diagbib1.c $(top_srcdir)/include/yaz/diagbib1.h: csvtobib1.tcl bib1.csv
+ $(TCLSH) $(srcdir)/csvtobib1.tcl $(srcdir)
+
+diagsrw.c $(top_srcdir)/include/yaz/diagsrw.h: csvtosrw.tcl srw.csv
+ $(TCLSH) $(srcdir)/csvtosrw.tcl $(srcdir)