X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=win%2Fmakefile;h=30e4c2bdb9c9bb39afef1f9aee81e6865eb7f526;hp=6c6ab3fe3eb34b7db57c11e34f242f0b8e952f55;hb=fd68bc7487e4d6b547999f21718955221f1c48a4;hpb=163ca1323081c3a85323b55cb0ff668b8f7c83a1 diff --git a/win/makefile b/win/makefile index 6c6ab3f..30e4c2b 100644 --- a/win/makefile +++ b/win/makefile @@ -1,9 +1,9 @@ -# Copyright (C) 1994-2005, Index Data +# Copyright (C) 1994-2006, Index Data ApS # All rights reserved. -# $Id: makefile,v 1.88 2005-01-11 12:13:18 adam Exp $ +# $Id: makefile,v 1.109 2006-05-26 15:46:44 adam Exp $ # # Programmed by -# HL: Heikki Levanto, Index Data +# Heikki Levanto & Adam Dickmeiss ########################################################### ############### Parameters @@ -20,15 +20,19 @@ HAVE_TCL=1 HAVE_ICONV=1 ICONV_DIR = c:\iconv-1.9.1.win32 +# libxslt +HAVE_LIBXSLT=1 +LIBXSLT_DIR=c:\libxslt-1.1.14.win32 + # libxml2 HAVE_LIBXML2=1 -LIBXML2_DIR=c:\libxml2-2.6.9.win32 +LIBXML2_DIR=c:\libxml2-2.6.20.win32 # zlib compression (used by libxml2) -ZLIB_DIR = c:\zlib-1.1.4.win32 +ZLIB_DIR = c:\zlib-1.2.3.win32 # get WIN32 binaries libxml2 & iconv & zlib from here: -# http://www.zlatkovic.com/projects/libxml/binaries.html +# http://www.zlatkovic.com/libxml.en.html # bison HAVE_BISON=1 @@ -36,13 +40,15 @@ BISON=bison default: all -all: dirs generate dll client ztest zoomsh utilprog iconv libxml2 +all: dirs generate dll client ztest zoomsh utilprog testprog iconv libxml2 libxslt NSIS="c:\program files\nsis\makensis.exe" +HHC="c:\program files\html help workshop\hhc.exe" dist: nmake DEBUG=1 clean nmake DEBUG=0 clean + nmake DEBUG=1 nmake DEBUG=0 $(NSIS) yaz.nsi @@ -54,6 +60,8 @@ nsishelp: generate: generated_files + + ########################################################### ############### Directories ########################################################### @@ -66,6 +74,7 @@ LIBDIR=$(ROOTDIR)\lib # We produce .lib, .exp etc there BINDIR=$(ROOTDIR)\bin # We produce exes and dlls there WINDIR=$(ROOTDIR)\win # all these Win make things SRCDIR=$(ROOTDIR)\src # for the case we move them under src +DOCDIR=$(ROOTDIR)\doc # where the doc is # where we store intermediate files !if $(DEBUG) @@ -78,6 +87,7 @@ CLIENTDIR=$(ROOTDIR)\CLIENT ZTESTDIR=$(ROOTDIR)\ZTEST ZOOMDIR=$(ROOTDIR)\ZOOM UTILDIR=$(ROOTDIR)\UTIL +TESTDIR=$(ROOTDIR)\TEST TMPDIR=$(ROOTDIR)\win\tmp TMP=$(TMPDIR) @@ -106,21 +116,28 @@ ZOOMTST5=$(BINDIR)\zoomtst5.exe ZOOMTST6=$(BINDIR)\zoomtst6.exe ZOOMTST7=$(BINDIR)\zoomtst7.exe ZOOMTST8=$(BINDIR)\zoomtst8.exe +ZOOMTST9=$(BINDIR)\zoomtst9.exe CQL2PQF=$(BINDIR)\cql2pqf.exe CQL2XCQL=$(BINDIR)\cql2xcql.exe YAZ_MARCDUMP=$(BINDIR)\yaz-marcdump.exe +TSTLOG=$(BINDIR)\tstlog.exe + # shortcut names defined here dll: dirs generate $(DLL) client: dirs generate $(CLIENT) ztest: dirs generate $(ZTEST) zoomsh: $(ZOOMSH) $(ZOOMTST1) $(ZOOMTST2) $(ZOOMTST3) \ - $(ZOOMTST4) $(ZOOMTST5) $(ZOOMTST6) $(ZOOMTST7) $(ZOOMTST8) + $(ZOOMTST4) $(ZOOMTST5) $(ZOOMTST6) $(ZOOMTST7) $(ZOOMTST8) $(ZOOMTST9) utilprog: $(CQL2PQF) $(CQL2XCQL) $(YAZ_MARCDUMP) +testprog: $(TSTLOG) + +htmlhelp: $(DOCDIR)\htmlhelp.chm + ########################################################### ############### Compiler and linker options ########################################################### @@ -134,7 +151,7 @@ ICONV_LIB= \ iconv: $(BINDIR)\iconv.dll $(BINDIR)\iconv.dll: - copy "$(ICONV_DIR)\lib\iconv.dll" $(BINDIR) + copy "$(ICONV_DIR)\bin\iconv.dll" $(BINDIR) !else ICONV_DEF= \ /D HAVE_ICONV_H=0 @@ -146,13 +163,13 @@ iconv: !if $(HAVE_LIBXML2) LIBXML2_LIB="$(LIBXML2_DIR)\lib\libxml2.lib" LIBXML2_DEF=/D HAVE_XML2=1 /I"$(LIBXML2_DIR)\include" -libxml2: $(BINDIR)\libxml2.dll $(BINDIR)\zlib.dll +libxml2: $(BINDIR)\libxml2.dll $(BINDIR)\zlib1.dll $(BINDIR)\libxml2.dll: - copy "$(LIBXML2_DIR)\lib\libxml2.dll" $(BINDIR) + copy "$(LIBXML2_DIR)\bin\libxml2.dll" $(BINDIR) -$(BINDIR)\zlib.dll: - copy "$(ZLIB_DIR)\lib\zlib.dll" $(BINDIR) +$(BINDIR)\zlib1.dll: + copy "$(ZLIB_DIR)\bin\zlib1.dll" $(BINDIR) !else LIBXML2_LIB= @@ -161,15 +178,34 @@ libxml2: !endif +!if $(HAVE_LIBXSLT) +LIBXSLT_LIB="$(LIBXSLT_DIR)\lib\libxslt.lib" +LIBXSLT_DEF= \ + /D HAVE_XSLTSAVERESULTTOSTRING=1 \ + /D HAVE_XSLT=1 \ + /I"$(LIBXSLT_DIR)\include" +libxslt: $(BINDIR)\libxslt.dll + +$(BINDIR)\libxslt.dll: + copy "$(LIBXSLT_DIR)\bin\libxslt.dll" $(BINDIR) + +!else +LIBXSLT_LIB= +LIBXSLT_DEF=/D HAVE_XSLT=0 +libxslt: +!endif + ### C and CPP compiler (the same thing) # Note: $(CPP) has already been defined in the environment # (if you set things up right!) COMMON_C_OPTIONS= \ - /nologo /W3 /GX /FD /c \ + /nologo /W3 /EHsc /FD /c \ $(ICONV_DEF) \ $(LIBXML2_DEF) \ + $(LIBXSLT_DEF) \ + /D "_CRT_SECURE_NO_DEPRECATE" \ /D "_WINDOWS" \ /D "WIN32" \ /FR"$(OBJDIR)\\" \ @@ -181,7 +217,7 @@ COMMON_C_INCLUDES= \ DEBUG_C_OPTIONS= \ /D "_DEBUG" \ - /MDd /Od /YX /Zi /Gm + /MDd /Od /Zi /Gm RELEASE_C_OPTIONS= \ /D "NDEBUG" \ @@ -198,7 +234,6 @@ RELEASE_C_OPTIONS= \ # /MDd = Runtime library: Multithread DLL (debug) # /Od = Disable optimising (debug) # /O2 = Optimize for speed -# /YX = Automatic use of precomipled headers # /Gm = Minimal rebuild (some cpp class stuff) # /Zi = Program database for debuggers # /ZI = Pgm database with special "edit&continue" stuff - not available in C5 @@ -208,9 +243,8 @@ RELEASE_C_OPTIONS= \ LINK=link.exe LINK_LIBS= kernel32.lib user32.lib gdi32.lib \ - advapi32.lib uuid.lib \ - wsock32.lib advapi32.lib \ - $(ICONV_LIB) $(LIBXML2_LIB) + advapi32.lib uuid.lib wsock32.lib advapi32.lib \ + $(ICONV_LIB) $(LIBXML2_LIB) $(LIBXSLT_LIB) COMMON_LNK_OPTIONS= /nologo \ /subsystem:windows \ @@ -277,6 +311,8 @@ YAZ_ZOOMTST7_OBJS = \ $(OBJDIR)\zoomtst7.obj YAZ_ZOOMTST8_OBJS = \ $(OBJDIR)\zoomtst8.obj +YAZ_ZOOMTST9_OBJS = \ + $(OBJDIR)\zoomtst9.obj YAZ_CQL2PQF_OBJS = \ $(OBJDIR)\cql2pqf.obj @@ -285,6 +321,9 @@ YAZ_CQL2XCQL_OBJS = \ YAZ_MARCDUMP_OBJS = \ $(OBJDIR)\marcdump.obj +TSTLOG_OBJS = \ + $(OBJDIR)\tstlog.obj + YAZ_SERVER_OBJS= \ "$(OBJDIR)\eventl.obj" \ "$(OBJDIR)\requestq.obj" \ @@ -355,13 +394,20 @@ YAZ_UTIL_OBJS= \ $(OBJDIR)\xmalloc.obj \ $(OBJDIR)\matchstr.obj \ $(OBJDIR)\siconv.obj \ - $(OBJDIR)\marc8.obj + $(OBJDIR)\marc8.obj \ + $(OBJDIR)\marc8r.obj \ + $(OBJDIR)\record_conv.obj \ + $(OBJDIR)\retrieval.obj \ + $(OBJDIR)\libxml2_error.obj \ + $(OBJDIR)\test.obj YAZ_ZUTIL_OBJS= \ $(OBJDIR)\diagbib1.obj \ $(OBJDIR)\diagsrw.obj \ + $(OBJDIR)\diag-entry.obj \ $(OBJDIR)\zget.obj \ $(OBJDIR)\logrpn.obj \ + $(OBJDIR)\querytowrbuf.obj \ $(OBJDIR)\pquery.obj \ $(OBJDIR)\yaz-ccl.obj \ $(OBJDIR)\otherinfo.obj \ @@ -376,7 +422,9 @@ YAZ_ZUTIL_OBJS= \ $(OBJDIR)\srwutil.obj \ $(OBJDIR)\zoom-c.obj \ $(OBJDIR)\zoom-opt.obj \ - $(OBJDIR)\initopt.obj + $(OBJDIR)\initopt.obj \ + $(OBJDIR)\xmlquery.obj \ + $(OBJDIR)\mime.obj Z3950_OBJS= \ $(OBJDIR)\z-date.obj\ @@ -562,11 +610,11 @@ generated_files: \ # yaz client {$(CLIENTDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) $(COPT) $< /D"_CONSOLE" + $(CPP) $(COPT) $< /D"_CONSOLE" # Ztest {$(ZTESTDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) $(COPT) $< /D"_CONSOLE" + $(CPP) $(COPT) $< /D"_CONSOLE" # Server {$(SERVERDIR)}.c{$(OBJDIR)}.obj: @@ -582,6 +630,9 @@ generated_files: \ {$(UTILDIR)}.c{$(OBJDIR)}.obj: $(CPP) $(COPT) $< +{$(TESTDIR)}.c{$(OBJDIR)}.obj: + $(CPP) $(COPT) $< + ############### ASN-generated files !if $(HAVE_TCL) @@ -640,6 +691,18 @@ $(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)\diagbib1.c: $(SRCDIR)\bib1.csv + @cd $(SRCDIR) + $(TCL) csvtobib1.tcl $(SRCDIR) + +$(SRCDIR)\diagsrw.c: $(SRCDIR)\srw.csv + @cd $(SRCDIR) + $(TCL) csvtosrw.tcl $(SRCDIR) + !endif !if $(HAVE_BISON) @@ -808,6 +871,19 @@ $(ZOOMTST8) : "$(BINDIR)" $(YAZ_ZOOMTST8_OBJS) /out:$(ZOOMTST8) << + +$(ZOOMTST9) : "$(BINDIR)" $(YAZ_ZOOMTST9_OBJS) + @echo Linking $(ZOOMTST9) + $(LINK) @<< + $(LNKOPT) + $(CLIENT_LINK_OPTIONS) + $(LINK_LIBS) + $(IMPLIB) + $(YAZ_ZOOMTST9_OBJS) + /map:"$(LIBDIR)\zoomtst9.map" + /out:$(ZOOMTST9) +<< + $(CQL2PQF) : "$(BINDIR)" $(YAZ_CQL2PQF_OBJS) @echo Linking $(CQL2PQF) $(LINK) @<< @@ -860,6 +936,23 @@ $(YAZ_MARCDUMP) : "$(BINDIR)" $(YAZ_MARCDUMP_OBJS) $(DLL) << +$(TSTLOG) : "$(BINDIR)" $(TSTLOG_OBJS) + @echo Linking $(TSTLOG) + $(LINK) @<< + $(LNKOPT) + $(CLIENT_LINK_OPTIONS) + $(LINK_LIBS) + $(IMPLIB) + $(TSTLOG_OBJS) + /map:"$(LIBDIR)\tstlog.map" + /out:$(TSTLOG) +<< + +$(DOCDIR)\htmlhelp.chm: $(DOCDIR)\htmlhelp.hhp + @cd $(DOCDIR) + -$(HHC) htmlhelp.hhp + @cd $(WINDIR) + # note that this links a lib, so it uses completely different options. ###########################################################