-libyaz_la_SOURCES=version.c options.c log.c marcdisp.c oid.c wrbuf.c \
- nmemsdup.c xmalloc.c readconf.c tpath.c nmem.c matchstr.c atoin.c \
- siconv.c marc8.c \
- odr_bool.c ber_bool.c ber_len.c ber_tag.c odr_util.c \
- odr_null.c ber_null.c odr_int.c ber_int.c odr_tag.c odr_cons.c \
- odr_seq.c odr_oct.c ber_oct.c odr_bit.c ber_bit.c odr_oid.c \
- ber_oid.c odr_use.c odr_choice.c odr_any.c ber_any.c odr.c odr_mem.c \
- dumpber.c odr_enum.c odr-priv.h \
- comstack.c tcpip.c waislen.c unix.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 OID database from CSV
+oid_std.c $(top_srcdir)/include/yaz/oid_std.h: oidtoc.tcl oid.csv
+ $(TCLSH) $(srcdir)/oidtoc.tcl $(srcdir) $(srcdir)/oid.csv oid_std.c oid_std.h
+
+# 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)
+
+diagsru_update.c $(top_srcdir)/include/yaz/diagsru_update.h: csvtosru_update.tcl sru_update.csv
+ $(TCLSH) $(srcdir)/csvtosru_update.tcl $(srcdir)
+
+# Auto-generated C-files
+GEN_FILES = oid_std.c \
+ marc8.c marc8r.c \
+ diagbib1.c diagsrw.c diagsru_update.c \