X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=win%2Fmakefile;h=f3998ea96c61495acd9e211a5a30511c034a0075;hb=dfa3f5aa5c191a7e528e09789fce3d82d62c8e51;hp=b62f9ffb722b1a766c92af690509ac4c06e9173e;hpb=0232cfff359646b39eb049820faa0df6ca5b79e7;p=pazpar2-moved-to-github.git diff --git a/win/makefile b/win/makefile index b62f9ff..f3998ea 100644 --- a/win/makefile +++ b/win/makefile @@ -1,32 +1,39 @@ # This file is part of Pazpar2. -# Copyright (C) 2006-2008 Index Data +# Copyright (C) Index Data +# See the file LICENSE for details. DEBUG=0 # 0 for release, 1 for debug -USE_MANIFEST = 0 # Can be enabled Visual Studio 2005 +USE_MANIFEST = 0 # Can be enabled Visual Studio 2005/2008 PACKAGE_NAME=pazpar2 -PACKAGE_VERSION=1.0.9 +PACKAGE_VERSION=1.8.8 # YAZ 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.28.win32 -LIBXSLT_DIR=\libxslt-1.1.19.win32 +LIBXML2_DIR=\libxml2-2.9.2.win32 +LIBXSLT_DIR=\libxslt-1.1.28.win32 # ICU HAVE_ICU=1 ICU_DIR=c:\icu +ICU_LIB=$(ICU_DIR)\lib +ICU_INCLUDE=$(ICU_DIR)\include 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 +46,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,43 +58,49 @@ 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 -$(BINDIR)\libxslt.dll: "$(LIBXSLT_DIR)\bin\libxslt.dll" - copy "$(ICONV_DIR)\bin\iconv.dll" $(BINDIR) - copy "$(ZLIB_DIR)\bin\zlib1.dll" $(BINDIR) +$(BINDIR)\libxslt.dll: "$(LIBXSLT_DIR)\lib\libxslt.dll" copy "$(LIBXML2_DIR)\bin\libxml2.dll" $(BINDIR) - copy "$(LIBXSLT_DIR)\bin\libxslt.dll" $(BINDIR) + copy "$(LIBXSLT_DIR)\lib\libxslt.dll" $(BINDIR) LIBXSLT_DEF= \ - /I"$(ICONV_DIR)\include" \ - /I"$(LIBXML2_DIR)\include" \ + /I"$(LIBXML2_DIR)\include\libxml2" \ /I"$(LIBXSLT_DIR)\include" LIBXSLT_LIB = \ - "$(ICONV_DIR)\lib\iconv.lib" \ "$(LIBXML2_DIR)\lib\libxml2.lib" \ "$(LIBXSLT_DIR)\lib\libxslt.lib" !if $(HAVE_ICU) -ICU_DEF=/DHAVE_ICU=1 /D HAVE_ICU_H=1 /I"$(ICU_DIR)\include" -ICU_LIB= $(ICU_DIR)\lib\icudt.lib \ - $(ICU_DIR)\lib\icuin.lib \ - $(ICU_DIR)\lib\icuuc.lib +ICU_DEF=/DYAZ_HAVE_ICU=1 /I"$(ICU_INCLUDE)" +ICU_LIBS= $(ICU_LIB)\icudt.lib \ + $(ICU_LIB)\icuin.lib \ + $(ICU_LIB)\icuuc.lib !else -ICU_DEF=/DHAVE_ICU=0 -ICU_LIB= +ICU_DEF=/DYAZ_HAVE_ICU=0 +ICU_LIBS= !endif COMMON_C_OPTIONS= \ @@ -138,11 +149,10 @@ RELEASE_C_OPTIONS= \ ### Linker options LINK=link.exe -LINK_LIBS= kernel32.lib user32.lib gdi32.lib advapi32.lib uuid.lib \ - wsock32.lib advapi32.lib \ - $(YAZ_LIB) $(ICU_LIB) $(LIBXSLT_LIB) +LINK_LIBS= kernel32.lib ws2_32.lib advapi32.lib \ + $(YAZ_LIB) $(ICU_LIBS) $(LIBXSLT_LIB) -COMMON_LNK_OPTIONS= /nologo /subsystem:windows /machine:i386 /incremental:no +COMMON_LNK_OPTIONS= /nologo /subsystem:windows /incremental:no DEBUG_LNK_OPTIONS= /debug @@ -165,27 +175,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: @@ -216,3 +233,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) +