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

Last change on this file since 27220 was 25178, checked in by sjm84, 12 years ago

Fixed two Windows makefiles

  • 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
[22960]53LDFLAGS = -DEBUG -Z7 /errorReport:prompt
[19521]54!ELSE
55CXXFLAGS =
[22960]56LDFLAGS =
[19521]57!ENDIF
[15543]58
59!IF $(GSDL_VC4)
[19521]60CXXFLAGS = $(CXXFLAGS) -GX
[15543]61!ELSE
[19521]62CXXFLAGS = $(CXXFLAGS) -EHsc
[15543]63!ENDIF
64
65!IF $(DLL)
[19521]66CXXFLAGS = $(CXXFLAGS) -MD
[15543]67!ELSE
68!IF ($(DLLDEBUG))
[19521]69CXXFLAGS = $(CXXFLAGS) -MDd
[15543]70!ENDIF
71!ENDIF
72
[15821]73!IF $(ENABLE_ACCENTFOLD)
[16908]74ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[15821]75!ELSE
76ACCENTFOLD_LIBS =
77!ENDIF
78
[22090]79!IF $(USE_GDBM)
80GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" \
81 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
82GDBM_LIBS = "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib"
83GDBM_DEFINES = -DUSE_GDBM
84!ELSE
85GDBM_INCLUDES =
86GDBM_LIBS =
87GDBM_DEFINES =
88!ENDIF
89
90!IF $(USE_JDBM)
91JDBM_DEFINES = -DUSE_JDBM
92!ELSE
93JDBM_DEFINES =
94!ENDIF
95
[21435]96!IF $(USE_SQLITE)
[22080]97SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
[22090]98SQLITE_DEFINES = -DUSE_SQLITE
[21435]99!ELSE
[21324]100SQLITE_LIBS =
[22090]101SQLITE_DEFINES =
[21324]102!ENDIF
103
[22090]104!IF $(USE_MSSQL)
105MSSQL_DEFINES = -DUSE_MSSQL
106!ELSE
107MSSQL_DEFINES =
108!ENDIF
109
[21435]110!IF $(ENABLE_MG)
[21945]111MG_DEFS = -DENABLE_MG
[21324]112MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
113 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
[21435]114!ELSE
[21945]115MG_DEFS =
[21435]116MG_LIBS =
[15793]117!ENDIF
[15543]118
[21435]119!IF $(ENABLE_MGPP)
[21945]120MGPP_DEFS = -DENABLE_MGPP
[21324]121MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
122 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
[25178]123MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text" -I"$(INDEXERS_DIR)\mgpp\lib"
[21435]124!ELSE
[21945]125MGPP_DEFS =
[21435]126MGPP_LIBS =
127MGPP_INCLUDES =
[21324]128!ENDIF
[15793]129
[21945]130!IF $(ENABLE_LUCENE)
131LUCENE_DEFS = -DENABLE_LUCENE
132!ELSE
133LUCENE_DEFS=
134!ENDIF
135
[15543]136AR = lib
137CC = cl
[21945]138DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[22090]139 $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
[21945]140 $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
[15543]141# Do NOT add the "recpt" directory here: the z39.50 code should be independent of the receptionist!
[16574]142INCLUDES = -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
[21324]143 $(MGPP_INCLUDES) -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\include" \
[15546]144 -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\client" -I"$(PACKAGES_DIR)\d2m" \
[22090]145 $(GDBM_INCLUDES)
[22766]146LIBS = "$(COMMON_PACKAGES_DIR)\expat\lib\libexpat.lib" $(GDBM_LIBS) \
[15821]147 "$(PACKAGES_DIR)\d2m\libd2m.lib" "$(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib" $(ACCENTFOLD_LIBS) \
148 $(SQLITE_LIBS)
[15543]149
150!IF $(GSDL_VC4)
151DEFS=$(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]152INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15543]153!ENDIF
154
155
[19521]156COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[22960]157LINK = $(CC) -nologo $(LDFLAGS) -Fe"$@"
[15543]158
159
160.SUFFIXES:
161.SUFFIXES: .c .obj
162.c.obj:
163 $(COMPILE) $<
164
165.SUFFIXES: .cpp .obj
166.cpp.obj:
167 $(COMPILE) $<
168
169
170LIBRARY_SOURCES = \
171 yaz_zclient.c \
172 z3950proto.cpp \
173 z3950proxy.cpp \
174 zparse.tab.c \
175 zparse.yy.c
176
177LIBRARY_OBJECTS = \
178 yaz_zclient.obj \
179 z3950proto.obj \
180 z3950proxy.obj \
181 zparse.tab.obj \
182 zparse.yy.obj
183
184LIBRARY = gsdlz3950.lib
185
186
[15547]187SOURCES = \
188 z3950explain.cpp \
189 z3950parser.cpp \
190 z3950server.cpp \
191 z3950_to_gsdl.cpp
192
193OBJECTS = \
194 z3950explain.obj \
195 z3950parser.obj \
196 z3950server.obj \
197 z3950_to_gsdl.obj
198
199GSDL_LIBS = \
200 gsdlz3950.lib \
201 $(PROTOCOL_DIR)\gsdlprotocol.lib \
202 $(COLSERVR_DIR)\gsdlcolservr.lib \
[21324]203 $(MG_LIBS) \
204 $(MGPP_LIBS) \
[16574]205 $(COMMON_DIR)\src\lib\gsdllib.lib
[15547]206
207EXECUTABLE_OBJECTS = \
208 $(OBJECTS) \
209 $(GSDL_LIBS)
210
211EXECUTABLE = z3950server.exe
212
213
[15569]214# Default target: make both gsdlz3950.lib and z3950server.exe
215all: $(LIBRARY) $(EXECUTABLE)
216
217gsdlz3950.lib: $(LIBRARY_OBJECTS)
[15580]218 if EXIST $(LIBRARY) del $(LIBRARY)
219 $(AR) -nologo /out:$(LIBRARY) $(LIBRARY_OBJECTS) $(PACKAGES_DIR)/yaz/yaz-2.1.4/win/obj/tabcomplete.obj
[15569]220
[15547]221z3950server.exe: $(EXECUTABLE_OBJECTS)
[15569]222 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[15547]223
[15569]224install: $(EXECUTABLE)
[15580]225 copy $(EXECUTABLE) "$(GSDL_DIR)\bin\windows"
[15543]226
227clean:
228 del *.obj
[15580]229 del $(LIBRARY)
230 del $(EXECUTABLE)
Note: See TracBrowser for help on using the repository browser.