X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=win%2Fmakefile;h=b967dc9e390b7887414a58900e3a4bac16a3252c;hb=54833ceee2850b3de2f7ee28c6f9ca9e021b7fc8;hp=0d4f26f8ca49f91e630377b6b8044dd582fe421f;hpb=97e3dda0b95f4f7a86d1bab2a0ba8eceaeff44ca;p=yaz-moved-to-github.git diff --git a/win/makefile b/win/makefile index 0d4f26f..b967dc9 100644 --- a/win/makefile +++ b/win/makefile @@ -1,10 +1,9 @@ -# Copyright (C) 1994-2003, Index Data +# Copyright (C) 1994-2005, Index Data ApS # All rights reserved. -# $Id: makefile,v 1.66 2003-10-27 12:32:03 adam Exp $ +# $Id: makefile,v 1.96 2005-09-09 11:28:48 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-bz2.exe" +NSIS="c:\program files\nsis\makensis.exe" +HHC="c:\program files\html help workshop\hhc.exe" -nsis: all +dist: + nmake DEBUG=1 clean + nmake DEBUG=0 clean + nmake DEBUG=0 + $(NSIS) yaz.nsi + +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 @@ -92,16 +116,22 @@ 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) utilprog: $(CQL2PQF) $(CQL2XCQL) $(YAZ_MARCDUMP) +testprog: $(TSTLOG) + +htmlhelp: $(DOCDIR)\htmlhelp.chm + ########################################################### ############### Compiler and linker options ########################################################### @@ -115,7 +145,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 +157,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 +183,6 @@ COMMON_C_OPTIONS= \ $(LIBXML2_DEF) \ /D "_WINDOWS" \ /D "WIN32" \ - /D "HAVE_WCHAR_H=1" \ /FR"$(OBJDIR)\\" \ /Fo"$(OBJDIR)\\" \ /Fd"$(OBJDIR)\\" @@ -197,7 +230,7 @@ COMMON_LNK_OPTIONS= /nologo \ DEBUG_LNK_OPTIONS= /debug -RELEASE_LNK_OPTIONS= /pdb:none +RELEASE_LNK_OPTIONS= DLL_LINK_OPTIONS= /dll CLIENT_LINK_OPTIONS = /subsystem:console @@ -263,6 +296,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 +373,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 \ @@ -350,8 +388,10 @@ YAZ_ZUTIL_OBJS= \ $(OBJDIR)\zgdu.obj \ $(OBJDIR)\soap.obj \ $(OBJDIR)\srw.obj \ + $(OBJDIR)\srwutil.obj \ $(OBJDIR)\zoom-c.obj \ - $(OBJDIR)\zoom-opt.obj + $(OBJDIR)\zoom-opt.obj \ + $(OBJDIR)\initopt.obj Z3950_OBJS= \ $(OBJDIR)\z-date.obj\ @@ -557,6 +597,9 @@ generated_files: \ {$(UTILDIR)}.c{$(OBJDIR)}.obj: $(CPP) $(COPT) $< +{$(TESTDIR)}.c{$(OBJDIR)}.obj: + $(CPP) $(COPT) $< + ############### ASN-generated files !if $(HAVE_TCL) @@ -611,9 +654,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)\marc8.c: $(SRCDIR)\codetables.xml $(SRCDIR)\charconv.tcl @cd $(SRCDIR) - $(TCL) charconv.tcl -p marc8 -s 50 charconv.sgm -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 @@ -659,8 +710,7 @@ $(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS) $(YAZ_RES) $(DLL_OBJS) $(YAZ_RES) /out:$(DLL) - /implib:"$(LIBDIR)\yaz.lib" - /pdb:"$(LIBDIR)\yaz.pdb" + /implib:"$(IMPLIB)" /map:"$(LIBDIR)\yaz.map" << @@ -672,7 +722,6 @@ $(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_CLIENT_OBJS) - /pdb:"$(LIBDIR)\yaz-client.pdb" /map:"$(LIBDIR)\yaz-client.map" /out:$(CLIENT) << @@ -685,7 +734,6 @@ $(ZOOMSH) : "$(BINDIR)" $(YAZ_ZOOMSH_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMSH_OBJS) - /pdb:"$(LIBDIR)\zoomsh.pdb" /map:"$(LIBDIR)\zoomsh.map" /out:$(ZOOMSH) << @@ -698,7 +746,6 @@ $(ZOOMTST1) : "$(BINDIR)" $(YAZ_ZOOMTST1_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST1_OBJS) - /pdb:"$(LIBDIR)\zoomtst1.pdb" /map:"$(LIBDIR)\zoomtst1.map" /out:$(ZOOMTST1) << @@ -711,7 +758,6 @@ $(ZOOMTST2) : "$(BINDIR)" $(YAZ_ZOOMTST2_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST2_OBJS) - /pdb:"$(LIBDIR)\zoomtst2.pdb" /map:"$(LIBDIR)\zoomtst2.map" /out:$(ZOOMTST2) << @@ -724,7 +770,6 @@ $(ZOOMTST3) : "$(BINDIR)" $(YAZ_ZOOMTST3_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST3_OBJS) - /pdb:"$(LIBDIR)\zoomtst3.pdb" /map:"$(LIBDIR)\zoomtst3.map" /out:$(ZOOMTST3) << @@ -737,7 +782,6 @@ $(ZOOMTST4) : "$(BINDIR)" $(YAZ_ZOOMTST4_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST4_OBJS) - /pdb:"$(LIBDIR)\zoomtst4.pdb" /map:"$(LIBDIR)\zoomtst4.map" /out:$(ZOOMTST4) << @@ -750,7 +794,6 @@ $(ZOOMTST5) : "$(BINDIR)" $(YAZ_ZOOMTST5_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST5_OBJS) - /pdb:"$(LIBDIR)\zoomtst5.pdb" /map:"$(LIBDIR)\zoomtst5.map" /out:$(ZOOMTST5) << @@ -763,7 +806,6 @@ $(ZOOMTST6) : "$(BINDIR)" $(YAZ_ZOOMTST6_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST6_OBJS) - /pdb:"$(LIBDIR)\zoomtst6.pdb" /map:"$(LIBDIR)\zoomtst6.map" /out:$(ZOOMTST6) << @@ -776,7 +818,6 @@ $(ZOOMTST7) : "$(BINDIR)" $(YAZ_ZOOMTST7_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST7_OBJS) - /pdb:"$(LIBDIR)\zoomtst7.pdb" /map:"$(LIBDIR)\zoomtst7.map" /out:$(ZOOMTST7) << @@ -789,7 +830,6 @@ $(ZOOMTST8) : "$(BINDIR)" $(YAZ_ZOOMTST8_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_ZOOMTST8_OBJS) - /pdb:"$(LIBDIR)\zoomtst8.pdb" /map:"$(LIBDIR)\zoomtst8.map" /out:$(ZOOMTST8) << @@ -802,7 +842,6 @@ $(CQL2PQF) : "$(BINDIR)" $(YAZ_CQL2PQF_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_CQL2PQF_OBJS) - /pdb:"$(LIBDIR)\cql2pqf.pdb" /map:"$(LIBDIR)\cql2pqf.map" /out:$(CQL2PQF) << @@ -815,7 +854,6 @@ $(CQL2XCQL) : "$(BINDIR)" $(YAZ_CQL2XCQL_OBJS) $(LINK_LIBS) $(IMPLIB) $(YAZ_CQL2XCQL_OBJS) - /pdb:"$(LIBDIR)\cql2xcql.pdb" /map:"$(LIBDIR)\cql2xcql.map" /out:$(CQL2XCQL) << @@ -830,7 +868,6 @@ $(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(DLL) $(IMPLIB) $(ZTEST_OBJS) /implib:"$(LIBDIR)\yaz-ztest.lib" - /pdb:"$(LIBDIR)\yaz-ztest.pdb" /map:"$(LIBDIR)\yaz-ztest.map" /out:$(ZTEST) << @@ -844,12 +881,28 @@ $(YAZ_MARCDUMP) : "$(BINDIR)" $(YAZ_MARCDUMP_OBJS) $(DLL) shell32.lib $(IMPLIB) $(YAZ_MARCDUMP_OBJS) - /pdb:"$(LIBDIR)\yaz-marcdump.pdb" /map:"$(LIBDIR)\yaz-marcdump.map" /out:$(YAZ_MARCDUMP) << +$(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. ########################################################### @@ -861,6 +914,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