Pazpar2 1.4.4-2 for squeeze
[pazpar2-moved-to-github.git] / win / makefile
index 3e2579b..e811467 100644 (file)
@@ -1,10 +1,10 @@
 # This file is part of Pazpar2.
-# Copyright (C) 2006-2008 Index Data
+# Copyright (C) 2006-2010 Index Data
 
 DEBUG=0   # 0 for release, 1 for debug
-USE_MANIFEST = 0 # Can be enabled Visual Studio 2005
+USE_MANIFEST = 1 # Can be enabled Visual Studio 2005/2008
 PACKAGE_NAME=pazpar2
-PACKAGE_VERSION=1.0.9
+PACKAGE_VERSION=1.4.4
 
 # YAZ
 YAZ_DIR=..\..\yaz
@@ -12,8 +12,8 @@ YAZ_DIR=..\..\yaz
 # Libxml2 + libxslt + associates
 ZLIB_DIR=\zlib-1.2.3.win32
 ICONV_DIR=\iconv-1.9.2.win32
-LIBXML2_DIR=\libxml2-2.6.32+.win32
-LIBXSLT_DIR=\libxslt-1.1.23+.win32
+LIBXML2_DIR=\libxml2-2.7.6.win32
+LIBXSLT_DIR=\libxslt-1.1.26.win32
 
 # ICU
 HAVE_ICU=1
@@ -23,10 +23,16 @@ default: all
 
 all: dirs yaz libxslt pazpar2
 
-NSIS="c:\program files\nsis\makensis-bz2.exe"
+NSIS="c:\program files\nsis\makensis.exe"
+
+dist: pazpar2.nsi
+       nmake DEBUG=1 clean
+       nmake DEBUG=0 clean
+       nmake DEBUG=0
+       $(NSIS) pazpar2.nsi
 
 nsis: all
-       $(NSIS) yazpp.nsi
+       $(NSIS) pazpar2.nsi
 
 nsishelp:
        $(NSIS)
@@ -39,11 +45,9 @@ WINDIR=$(ROOTDIR)\win       # all these Win make things
 SRCDIR=$(ROOTDIR)\src       # for the case we move them under src
 
 !if $(DEBUG)
-OBJDIR=$(WINDIR)\dobj       # debug objects
-YAZD=yaz3d
+OBJDIR=$(WINDIR)\dobj
 !else
-OBJDIR=$(WINDIR)\obj        # non-debug objects
-YAZD=yaz3
+OBJDIR=$(WINDIR)\obj
 !endif
 
 TMPDIR=$(ROOTDIR)\win\tmp
@@ -53,14 +57,24 @@ PAZPAR2_EXE=$(BINDIR)\pazpar2.exe
 
 pazpar2: $(PAZPAR2_EXE)
 
-# YAZ includes & libs
-YAZ_LIB="$(YAZ_DIR)\lib\$(YAZD).lib"
-YAZ_DEF=/DYAZ_HAVE_XML2=2 /DYAZ_HAVE_XSLT=1 /I"$(YAZ_DIR)\include"
-yaz: $(BINDIR)\$(YAZD).dll 
+YAZBINDIR=$(YAZ_DIR)\bin
+!if $(DEBUG)
+YAZ_LIB="$(YAZ_DIR)\lib\yaz4d.lib" "$(YAZ_DIR)\lib\yaz_cond4d.lib" 
+!if $(HAVE_ICU)
+YAZ_LIB=$(YAZ_LIB) "$(YAZ_DIR)\lib\yaz_icu4d.lib"
+!endif
+YAZ_DLL_SOURCE="$(YAZBINDIR)\yaz4d.dll"
+YAZ_DLL_TARGET="$(BINDIR)\yaz4d.dll"
+!else
+YAZ_LIB="$(YAZ_DIR)\lib\yaz4.lib" "$(YAZ_DIR)\lib\yaz_cond4.lib"
+!if $(HAVE_ICU)
+YAZ_LIB=$(YAZ_LIB) "$(YAZ_DIR)\lib\yaz_icu4.lib"
+!endif
+YAZ_DLL_SOURCE="$(YAZBINDIR)\yaz4.dll"
+YAZ_DLL_TARGET="$(BINDIR)\yaz4.dll"
+!endif
 
-$(BINDIR)\$(YAZD).dll: "$(YAZ_DIR)\bin\$(YAZD).dll"
-  copy "$(YAZ_DIR)\bin\icu*.dll" $(BINDIR)
-  copy "$(YAZ_DIR)\bin\$(YAZD).dll" $(BINDIR)
+YAZ_DEF=/DYAZ_HAVE_XML2=2 /DYAZ_HAVE_XSLT=1 /I"$(YAZ_DIR)\include"
 
 # Copy libxslt and associates to our bin directory
 libxslt: $(BINDIR)\libxslt.dll
@@ -83,12 +97,12 @@ LIBXSLT_LIB = \
           "$(LIBXSLT_DIR)\lib\libxslt.lib"
 
 !if $(HAVE_ICU)
-ICU_DEF=/DHAVE_ICU=1 /D HAVE_ICU_H=1 /I"$(ICU_DIR)\include"
+ICU_DEF=/DYAZ_HAVE_ICU=1 /I"$(ICU_DIR)\include"
 ICU_LIB= $(ICU_DIR)\lib\icudt.lib \
         $(ICU_DIR)\lib\icuin.lib \
         $(ICU_DIR)\lib\icuuc.lib
 !else
-ICU_DEF=/DHAVE_ICU=0
+ICU_DEF=/DYAZ_HAVE_ICU=0
 ICU_LIB=
 !endif
 
@@ -169,21 +183,26 @@ PAZPAR2_OBJS = \
    "$(OBJDIR)\http.obj" \
    "$(OBJDIR)\eventl.obj" \
    "$(OBJDIR)\http_command.obj" \
-   "$(OBJDIR)\icu_I18N.obj" \
-   "$(OBJDIR)\logic.obj" \
+   "$(OBJDIR)\session.obj" \
    "$(OBJDIR)\record.obj" \
    "$(OBJDIR)\reclists.obj" \
    "$(OBJDIR)\relevance.obj" \
    "$(OBJDIR)\termlists.obj" \
    "$(OBJDIR)\normalize7bit.obj" \
-   "$(OBJDIR)\util.obj" \
    "$(OBJDIR)\zeerex.obj" \
    "$(OBJDIR)\database.obj" \
    "$(OBJDIR)\settings.obj" \
    "$(OBJDIR)\getaddrinfo.obj" \
    "$(OBJDIR)\charsets.obj" \
    "$(OBJDIR)\client.obj" \
-   "$(OBJDIR)\dirent.obj" \
+   "$(OBJDIR)\jenkins_hash.obj" \
+   "$(OBJDIR)\marcmap.obj" \
+   "$(OBJDIR)\marchash.obj" \
+   "$(OBJDIR)\normalize_record.obj" \
+   "$(OBJDIR)\normalize_cache.obj" \
+   "$(OBJDIR)\ppmutex.obj" \
+   "$(OBJDIR)\incref.obj" \
+   "$(OBJDIR)\sel_thread.obj" \
    "$(OBJDIR)\connection.obj" 
 
 
@@ -215,3 +234,9 @@ dirs: $(OBJDIR) $(WINDIR) $(BINDIR) $(TMPDIR)
 $(OBJDIR) $(WINDIR) $(BINDIR) $(TMPDIR):
        if not exist "$@/$(NUL)" mkdir "$@"
 
+yaz: $(YAZ_DLL_TARGET)
+
+$(YAZ_DLL_TARGET) : $(YAZ_DLL_SOURCE)
+#      copy "$(YAZBINDIR)\*.dll.manifest" $(BINDIR)
+       copy "$(YAZBINDIR)\*.dll" $(BINDIR)
+