Version 1.6.37
[pazpar2-moved-to-github.git] / win / makefile
index e2c5629..931834a 100644 (file)
@@ -1,10 +1,10 @@
 # This file is part of Pazpar2.
-# Copyright (C) 2006-2008 Index Data
+# Copyright (C) 2006-2013 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.1.0
+PACKAGE_VERSION=1.6.37
 
 # 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.7.1.win32
-LIBXSLT_DIR=\libxslt-1.1.24.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\yaz5d.lib" "$(YAZ_DIR)\lib\yaz_cond5d.lib" 
+!if $(HAVE_ICU)
+YAZ_LIB=$(YAZ_LIB) "$(YAZ_DIR)\lib\yaz_icu5d.lib"
+!endif
+YAZ_DLL_SOURCE="$(YAZBINDIR)\yaz5d.dll"
+YAZ_DLL_TARGET="$(BINDIR)\yaz5d.dll"
+!else
+YAZ_LIB="$(YAZ_DIR)\lib\yaz5.lib" "$(YAZ_DIR)\lib\yaz_cond5.lib"
+!if $(HAVE_ICU)
+YAZ_LIB=$(YAZ_LIB) "$(YAZ_DIR)\lib\yaz_icu5.lib"
+!endif
+YAZ_DLL_SOURCE="$(YAZBINDIR)\yaz5.dll"
+YAZ_DLL_TARGET="$(BINDIR)\yaz5.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
 
@@ -164,27 +178,34 @@ LNKOPT= $(COMMON_LNK_OPTIONS) $(RELEASE_LNK_OPTIONS) $(LNK_LIBS)
 # Source and object modules
 
 PAZPAR2_OBJS = \
+   "$(OBJDIR)\getaddrinfo.obj" \
+   "$(OBJDIR)\host.obj" \
    "$(OBJDIR)\pazpar2.obj" \
    "$(OBJDIR)\pazpar2_config.obj" \
    "$(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)\connection.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)\service_xslt.obj" \
+   "$(OBJDIR)\connection.obj"  \
+   "$(OBJDIR)\facet_limit.obj" 
 
 
 {$(SRCDIR)}.c{$(OBJDIR)}.obj:
@@ -215,3 +236,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)
+