source: main/trunk/greenstone2/runtime-src/src/z3950/win32.mak@ 22766

Last change on this file since 22766 was 22766, checked in by mdewsnip, 14 years ago

Instead of having two copies of expat in Greenstone (one for Linux and one for Windows), added Windows makefiles into the version in common-src/packages/expat. This means we can remove the Windows-only version in common-src/packages/windows/expat, and also means that expat now works the same as SQLite.

  • Property svn:executable set to *
File size: 5.3 KB
RevLine 
[15543]1###########################################################################
2#
3# win32 makefile -- src/z3950
4# A component of the Greenstone digital library software
5# from the New Zealand Digital Library Project at the
6# University of Waikato, New Zealand.
7#
8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
9#
10#
11# This program is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with this program; if not, write to the Free Software
23# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24#
25###########################################################################
26
[16574]27GSDL_DIR = ..\..\..
28COMMON_DIR = $(GSDL_DIR)\common-src
29RUNTIME_DIR = $(GSDL_DIR)\runtime-src
[15543]30
[16574]31INDEXERS_DIR = $(COMMON_DIR)\indexers
[18048]32COMMON_PACKAGES_DIR = $(COMMON_DIR)\packages
[16574]33PACKAGES_DIR = $(RUNTIME_DIR)\packages
34COLSERVR_DIR = $(RUNTIME_DIR)\src\colservr
35PROTOCOL_DIR = $(RUNTIME_DIR)\src\protocol
[15543]36
[16574]37
[15543]38GSDL_VC4 = 0
[19521]39DEBUG = 0
[15543]40DLL = 0
41DLLDEBUG = 0
[15821]42ENABLE_ACCENTFOLD = 1
[22090]43USE_GDBM = 1
44USE_JDBM = 1
[18076]45USE_SQLITE = 1
[22090]46USE_MSSQL = 0
[21324]47ENABLE_MG = 1
48ENABLE_MGPP = 1
49ENABLE_LUCENE = 1
[15543]50
[19521]51!IF $(DEBUG)
52CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
53!ELSE
54CXXFLAGS =
55!ENDIF
[15543]56
57!IF $(GSDL_VC4)
[19521]58CXXFLAGS = $(CXXFLAGS) -GX
[15543]59!ELSE
[19521]60CXXFLAGS = $(CXXFLAGS) -EHsc
[15543]61!ENDIF
62
63!IF $(DLL)
[19521]64CXXFLAGS = $(CXXFLAGS) -MD
[15543]65!ELSE
66!IF ($(DLLDEBUG))
[19521]67CXXFLAGS = $(CXXFLAGS) -MDd
[15543]68!ENDIF
69!ENDIF
70
[15821]71!IF $(ENABLE_ACCENTFOLD)
[16908]72ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[15821]73!ELSE
74ACCENTFOLD_LIBS =
75!ENDIF
76
[22090]77!IF $(USE_GDBM)
78GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" \
79 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
80GDBM_LIBS = "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib"
81GDBM_DEFINES = -DUSE_GDBM
82!ELSE
83GDBM_INCLUDES =
84GDBM_LIBS =
85GDBM_DEFINES =
86!ENDIF
87
88!IF $(USE_JDBM)
89JDBM_DEFINES = -DUSE_JDBM
90!ELSE
91JDBM_DEFINES =
92!ENDIF
93
[21435]94!IF $(USE_SQLITE)
[22080]95SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
[22090]96SQLITE_DEFINES = -DUSE_SQLITE
[21435]97!ELSE
[21324]98SQLITE_LIBS =
[22090]99SQLITE_DEFINES =
[21324]100!ENDIF
101
[22090]102!IF $(USE_MSSQL)
103MSSQL_DEFINES = -DUSE_MSSQL
104!ELSE
105MSSQL_DEFINES =
106!ENDIF
107
[21435]108!IF $(ENABLE_MG)
[21945]109MG_DEFS = -DENABLE_MG
[21324]110MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
111 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
[21435]112!ELSE
[21945]113MG_DEFS =
[21435]114MG_LIBS =
[15793]115!ENDIF
[15543]116
[21435]117!IF $(ENABLE_MGPP)
[21945]118MGPP_DEFS = -DENABLE_MGPP
[21324]119MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
120 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
121MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text"
[21435]122!ELSE
[21945]123MGPP_DEFS =
[21435]124MGPP_LIBS =
125MGPP_INCLUDES =
[21324]126!ENDIF
[15793]127
[21945]128!IF $(ENABLE_LUCENE)
129LUCENE_DEFS = -DENABLE_LUCENE
130!ELSE
131LUCENE_DEFS=
132!ENDIF
133
[15543]134AR = lib
135CC = cl
[21945]136DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[22090]137 $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
[21945]138 $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
[15543]139# Do NOT add the "recpt" directory here: the z39.50 code should be independent of the receptionist!
[16574]140INCLUDES = -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
[21324]141 $(MGPP_INCLUDES) -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\include" \
[15546]142 -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\client" -I"$(PACKAGES_DIR)\d2m" \
[22090]143 $(GDBM_INCLUDES)
[15569]144LDFLAGS =
[22766]145LIBS = "$(COMMON_PACKAGES_DIR)\expat\lib\libexpat.lib" $(GDBM_LIBS) \
[15821]146 "$(PACKAGES_DIR)\d2m\libd2m.lib" "$(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib" $(ACCENTFOLD_LIBS) \
147 $(SQLITE_LIBS)
[15543]148
149!IF $(GSDL_VC4)
150DEFS=$(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]151INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15543]152!ENDIF
153
154
[19521]155COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[15569]156LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
[15543]157
158
159.SUFFIXES:
160.SUFFIXES: .c .obj
161.c.obj:
162 $(COMPILE) $<
163
164.SUFFIXES: .cpp .obj
165.cpp.obj:
166 $(COMPILE) $<
167
168
169LIBRARY_SOURCES = \
170 yaz_zclient.c \
171 z3950proto.cpp \
172 z3950proxy.cpp \
173 zparse.tab.c \
174 zparse.yy.c
175
176LIBRARY_OBJECTS = \
177 yaz_zclient.obj \
178 z3950proto.obj \
179 z3950proxy.obj \
180 zparse.tab.obj \
181 zparse.yy.obj
182
183LIBRARY = gsdlz3950.lib
184
185
[15547]186SOURCES = \
187 z3950explain.cpp \
188 z3950parser.cpp \
189 z3950server.cpp \
190 z3950_to_gsdl.cpp
191
192OBJECTS = \
193 z3950explain.obj \
194 z3950parser.obj \
195 z3950server.obj \
196 z3950_to_gsdl.obj
197
198GSDL_LIBS = \
199 gsdlz3950.lib \
200 $(PROTOCOL_DIR)\gsdlprotocol.lib \
201 $(COLSERVR_DIR)\gsdlcolservr.lib \
[21324]202 $(MG_LIBS) \
203 $(MGPP_LIBS) \
[16574]204 $(COMMON_DIR)\src\lib\gsdllib.lib
[15547]205
206EXECUTABLE_OBJECTS = \
207 $(OBJECTS) \
208 $(GSDL_LIBS)
209
210EXECUTABLE = z3950server.exe
211
212
[15569]213# Default target: make both gsdlz3950.lib and z3950server.exe
214all: $(LIBRARY) $(EXECUTABLE)
215
216gsdlz3950.lib: $(LIBRARY_OBJECTS)
[15580]217 if EXIST $(LIBRARY) del $(LIBRARY)
218 $(AR) -nologo /out:$(LIBRARY) $(LIBRARY_OBJECTS) $(PACKAGES_DIR)/yaz/yaz-2.1.4/win/obj/tabcomplete.obj
[15569]219
[15547]220z3950server.exe: $(EXECUTABLE_OBJECTS)
[15569]221 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[15547]222
[15569]223install: $(EXECUTABLE)
[15580]224 copy $(EXECUTABLE) "$(GSDL_DIR)\bin\windows"
[15543]225
226clean:
227 del *.obj
[15580]228 del $(LIBRARY)
229 del $(EXECUTABLE)
Note: See TracBrowser for help on using the repository browser.