-###########################################################
-############### Linking
-###########################################################
-
-$(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS)
- @echo Linking the dll $(DLL)
- $(LINK) @<<
- $(LNKOPT)
- $(LINK_LIBS)
- $(DLL_LINK_OPTIONS)
- $(DLL_OBJS)
- /out:$(DLL)
- /implib:"$(LIBDIR)/yaz.lib"
- /pdb:"$(LIBDIR)/yaz.pdb"
- /map:"$(LIBDIR)/yaz.map"
-<<
-
-$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS)
- @echo Linking the client $(CLIENT)
- $(LINK) @<<
- $(LNKOPT)
- $(CLIENT_LINK_OPTIONS)
- $(LINK_LIBS)
- $(IMPLIB)
- $(YAZ_CLIENT_OBJS)
-
- /pdb:"$(LIBDIR)/yaz-client.pdb"
-
- /map:"$(LIBDIR)/yaz-client.map"
- /out:$(CLIENT)
-<<
-
-$(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(SERVER) $(DLL)
- @echo Linking the ztest $(ZTEST)
- $(LINK) @<<
- $(LNKOPT)
- $(ZTEST_LINK_OPTIONS)
- $(LINK_LIBS)
- shell32.lib
- $(IMPLIB)
- $(SERVER)
- $(ZTEST_OBJS)
-
- /implib:"$(LIBDIR)/yaz-ztest.lib"
-
- /pdb:"$(LIBDIR)/yaz-ztest.pdb"
-
- /map:"$(LIBDIR)/yaz-ztest.map"
- /out:$(ZTEST)
-<<
-
-
-$(SERVER) : "$(BINDIR)" $(YAZ_SERVER_OBJS)
- @echo Linking the server $(SERVER)
- $(LINK) $(SERVER_LINK_OPTIONS) @<<
- /nologo
- $(IMPLIB)
- $(YAZ_SERVER_OBJS)
- /out:$(SERVER)
-<<
-
-# note that this links a lib, so it uses completely different options.
-
-
-
-###########################################################
-############### Special operations
-###########################################################
-
-
-############## clean
-clean:
- del $(DLL)
- del $(CLIENT)
- del $(SERVER)
- del $(ZTEST)
- del $(TMPDIR)\*.
+$(SRCDIR)\marc8.c: $(SRCDIR)\codetables.xml $(SRCDIR)\charconv.tcl
+ @cd $(SRCDIR)
+ $(TCL) charconv.tcl -p marc8 codetables.xml -o marc8.c
+
+$(SRCDIR)\marc8r.c: $(SRCDIR)\codetables.xml $(SRCDIR)\charconv.tcl
+ @cd $(SRCDIR)
+ $(TCL) charconv.tcl -r -p marc8r codetables.xml -o marc8r.c
+
+$(SRCDIR)\oid_std.c: $(SRCDIR)\oid.csv $(SRCDIR)\charconv.tcl
+ @cd $(SRCDIR)
+ $(TCL) oidtoc.tcl $(SRCDIR) oid.csv oid_std.c oid_std.h
+
+$(SRCDIR)\diagbib1.c: $(SRCDIR)\bib1.csv
+ @cd $(SRCDIR)
+ $(TCL) csvtobib1.tcl $(SRCDIR)
+
+$(SRCDIR)\diagsrw.c: $(SRCDIR)\srw.csv
+ @cd $(SRCDIR)
+ $(TCL) csvtosrw.tcl $(SRCDIR)
+
+$(SRCDIR)\diagsru_update.c: $(SRCDIR)\sru_update.csv
+ @cd $(SRCDIR)
+ $(TCL) csvtosru_update.tcl $(SRCDIR)
+
+$(INCLDIR)\yaz\yaz-version.h:
+ @cd $(SRCDIR)
+ $(TCL) mk_version.tcl $(ROOTDIR)/configure.ac $(INCLDIR)\yaz\yaz-version.h
+
+
+!endif
+
+!if $(HAVE_BISON)
+$(SRCDIR)\cql.c: $(SRCDIR)\cql.y
+ @cd $(SRCDIR)
+ $(BISON) -y -p cql_ -o cql.c cql.y
+
+!endif
+
+# Resources
+# The RC compiler (resource files)
+RSC=rc.exe
+
+YAZ_RC=$(WINDIR)\yaz.rc
+YAZ_RES=$(OBJDIR)\yaz.res
+YAZ_ICU_RES=$(OBJDIR)\yaz_icu.res
+
+!if $(DEBUG)
+RSOPT=/d_DEBUG
+!else
+RSOPT=/d_NDEBUG
+!endif
+
+$(YAZ_RES): $(YAZ_RC)
+ $(RSC) $(RSOPT) /I"../include" /fo"$(YAZ_RES)" $(YAZ_RC)
+
+$(YAZ_ICU_RES): $(YAZ_RC)
+ $(RSC) $(RSOPT) /DICU=1 /I"../include" /fo"$(YAZ_ICU_RES)" $(YAZ_RC)
+
+# Linking
+
+$(YAZ_DLL) $(YAZ_IMPLIB): "$(BINDIR)" $(DLL_OBJS) $(YAZ_RES)
+ $(LINK_DLL) \
+ $(DLL_OBJS) \
+ $(YAZ_RES) \
+ /out:$@ \
+ /implib:"$(YAZ_IMPLIB)"
+ $(MT) -manifest $@.manifest -outputresource:$@;2
+
+$(YAZ_ICU_DLL) $(YAZ_ICU_IMPLIB): "$(BINDIR)" $(ICU_DLL_OBJS) $(YAZ_ICU_RES)
+ $(LINK_DLL) $(ICU_LIB) $(YAZ_IMPLIB)\
+ $(ICU_DLL_OBJS) \
+ $(YAZ_ICU_RES) \
+ /out:$@ \
+ /implib:"$(YAZ_ICU_IMPLIB)"
+ $(MT) -manifest $@.manifest -outputresource:$@;2
+
+$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) $(YAZ_DLL)
+ $(LINK_PROGRAM) $(YAZ_CLIENT_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1
+
+$(YAZ_ICU) : "$(BINDIR)" $(YAZ_ICU_OBJS) $(YAZ_ICU_DLL)
+ $(LINK_PROGRAM) $(ICU_LIB) $(YAZ_ICU_IMPLIB) $(YAZ_ICU_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1
+
+
+$(SC_TEST) : "$(BINDIR)" $(SC_TEST_OBJS) $(YAZ_DLL)
+ $(LINK_PROGRAM) $(SC_TEST_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1
+
+$(ZOOMSH) : "$(BINDIR)" $(YAZ_ZOOMSH_OBJS) $(YAZ_DLL)
+ $(LINK_PROGRAM) $(YAZ_ZOOMSH_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1
+
+$(ZOOMTST1) : "$(BINDIR)" $(YAZ_ZOOMTST1_OBJS) $(YAZ_DLL)
+ $(LINK_PROGRAM) $(YAZ_ZOOMTST1_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1
+
+$(ZOOMTST2) : "$(BINDIR)" $(YAZ_ZOOMTST2_OBJS) $(YAZ_DLL)
+ $(LINK_PROGRAM) $(YAZ_ZOOMTST2_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1
+
+$(ZOOMTST3) : "$(BINDIR)" $(YAZ_ZOOMTST3_OBJS) $(YAZ_DLL)
+ $(LINK_PROGRAM) $(YAZ_ZOOMTST3_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1
+
+$(ZOOMTST4) : "$(BINDIR)" $(YAZ_ZOOMTST4_OBJS) $(YAZ_DLL)
+ $(LINK_PROGRAM) $(YAZ_ZOOMTST4_OBJS) /out:$@
+ $(MT) -manifest $@.manifest -outputresource:$@;1