X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=win%2Fmakefile;h=6c455386a9dcfd8c285d368e0bd78c2ed6f1ac0a;hp=071fb54ede9109f2cd22314717bf509149591460;hb=1eb08b83987bdbf846d7100c6231d1907275bb15;hpb=75ada5241cd3a0adf2a5623c7a392dd657e2c15b diff --git a/win/makefile b/win/makefile index 071fb54..6c45538 100644 --- a/win/makefile +++ b/win/makefile @@ -1,10 +1,9 @@ -# Copyright (C) 1994-2004, Index Data +# Copyright (C) 1994-2005, Index Data ApS # All rights reserved. -# $Id: makefile,v 1.74 2004-03-17 18:47:42 adam Exp $ +# $Id: makefile,v 1.97 2005-11-29 20:40:33 adam Exp $ # # Programmed by -# HL: Heikki Levanto, Index Data -# +# Heikki Levanto & Adam Dickmeiss ########################################################### ############### Parameters @@ -19,14 +18,17 @@ HAVE_TCL=1 # iconv charcter conversion utility HAVE_ICONV=1 -ICONV_DIR = c:\iconv-1.8.win32 +ICONV_DIR = c:\iconv-1.9.1.win32 # libxml2 HAVE_LIBXML2=1 -LIBXML2_DIR=c:\libxml2-2.5.10.win32 +LIBXML2_DIR=c:\libxml2-2.6.20.win32 + +# zlib compression (used by libxml2) +ZLIB_DIR = c:\zlib-1.2.3.win32 -# WIN32 binaries libxml2 & iconv from here: -# http://www.zlatkovic.com/projects/libxml/binaries.html +# get WIN32 binaries libxml2 & iconv & zlib from here: +# http://www.zlatkovic.com/libxml.en.html # bison HAVE_BISON=1 @@ -34,11 +36,18 @@ 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 + +NSIS="c:\program files\nsis\makensis.exe" +HHC="c:\program files\html help workshop\hhc.exe" -NSIS="c:\program files\nsis\makensis-bz2.exe" +dist: + nmake DEBUG=1 clean + nmake DEBUG=0 clean + nmake DEBUG=0 + $(NSIS) yaz.nsi -nsis: all +nsis: $(NSIS) yaz.nsi nsishelp: @@ -46,6 +55,8 @@ nsishelp: generate: generated_files + + ########################################################### ############### Directories ########################################################### @@ -57,13 +68,21 @@ INCLDIR=$(ROOTDIR)\include # our includes 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 -OBJDIR=$(WINDIR)\obj # where we store intermediate files 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) +OBJDIR=$(WINDIR)\dobj +!else +OBJDIR=$(WINDIR)\obj +!endif CLIENTDIR=$(ROOTDIR)\CLIENT ZTESTDIR=$(ROOTDIR)\ZTEST ZOOMDIR=$(ROOTDIR)\ZOOM UTILDIR=$(ROOTDIR)\UTIL +TESTDIR=$(ROOTDIR)\TEST TMPDIR=$(ROOTDIR)\win\tmp TMP=$(TMPDIR) @@ -72,8 +91,13 @@ TMP=$(TMPDIR) ############### Targets - what to make ########################################################### +!if $(DEBUG) +DLL=$(BINDIR)\yazd.dll +IMPLIB=$(LIBDIR)\yazd.lib +!else DLL=$(BINDIR)\yaz.dll IMPLIB=$(LIBDIR)\yaz.lib +!endif CLIENT=$(BINDIR)\yaz-client.exe ZOOMSH=$(BINDIR)\zoomsh.exe @@ -87,21 +111,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 : $(DLL) -client: $(CLIENT) -ztest: $(ZTEST) +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 ########################################################### @@ -115,7 +146,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 @@ -127,10 +158,14 @@ 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 +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)\zlib1.dll: + copy "$(ZLIB_DIR)\bin\zlib1.dll" $(BINDIR) + !else LIBXML2_LIB= LIBXML2_DEF=/D HAVE_XML2=0 @@ -149,7 +184,6 @@ COMMON_C_OPTIONS= \ $(LIBXML2_DEF) \ /D "_WINDOWS" \ /D "WIN32" \ - /D "HAVE_WCHAR_H=1" \ /FR"$(OBJDIR)\\" \ /Fo"$(OBJDIR)\\" \ /Fd"$(OBJDIR)\\" @@ -255,6 +289,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 @@ -263,6 +299,9 @@ YAZ_CQL2XCQL_OBJS = \ YAZ_MARCDUMP_OBJS = \ $(OBJDIR)\marcdump.obj +TSTLOG_OBJS = \ + $(OBJDIR)\tstlog.obj + YAZ_SERVER_OBJS= \ "$(OBJDIR)\eventl.obj" \ "$(OBJDIR)\requestq.obj" \ @@ -337,6 +376,8 @@ YAZ_UTIL_OBJS= \ YAZ_ZUTIL_OBJS= \ $(OBJDIR)\diagbib1.obj \ + $(OBJDIR)\diagsrw.obj \ + $(OBJDIR)\diag-entry.obj \ $(OBJDIR)\zget.obj \ $(OBJDIR)\logrpn.obj \ $(OBJDIR)\pquery.obj \ @@ -559,6 +600,9 @@ generated_files: \ {$(UTILDIR)}.c{$(OBJDIR)}.obj: $(CPP) $(COPT) $< +{$(TESTDIR)}.c{$(OBJDIR)}.obj: + $(CPP) $(COPT) $< + ############### ASN-generated files !if $(HAVE_TCL) @@ -613,9 +657,17 @@ $(ITEM_REQ_FILES): $(SRCDIR)\item-req.asn $(TCL) $(TCLOPT) -d ill.tcl item-req.asn @cd $(WINDIR) -$(SRCDIR)\marc8.c: $(SRCDIR)\charconv.sgm $(SRCDIR)\codetables.xml $(SRCDIR)\charconv.tcl +$(SRCDIR)\marc8.c: $(SRCDIR)\codetables.xml $(SRCDIR)\charconv.tcl @cd $(SRCDIR) - $(TCL) charconv.tcl -O 1 -p marc8 charconv.sgm codetables.xml -o marc8.c + $(TCL) charconv.tcl -p marc8 codetables.xml -o marc8.c + +$(SRCDIR)\diagbib1.c: $(SRCDIR)\bib1.csv + @cd $(SRCDIR) + $(TCL) csvtobib1.tcl + +$(SRCDIR)\diagsrw.c: $(SRCDIR)\srw.csv + @cd $(SRCDIR) + $(TCL) csvtosrw.tcl !endif @@ -661,7 +713,7 @@ $(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS) $(YAZ_RES) $(DLL_OBJS) $(YAZ_RES) /out:$(DLL) - /implib:"$(LIBDIR)\yaz.lib" + /implib:"$(IMPLIB)" /map:"$(LIBDIR)\yaz.map" << @@ -785,6 +837,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) @<< @@ -837,6 +902,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. ########################################################### @@ -848,6 +930,7 @@ $(YAZ_MARCDUMP) : "$(BINDIR)" $(YAZ_MARCDUMP_OBJS) $(DLL) clean: -del $(BINDIR)\*.exe -del $(BINDIR)\*.dll + -del $(BINDIR)\*.pdb -del $(TMPDIR)\*. -del $(LIBDIR)\*.MAP -del $(LIBDIR)\*.LIB