source: main/trunk/greenstone2/runtime-src/src/recpt/win32.mak@ 21945

Last change on this file since 21945 was 21945, checked in by ak19, 14 years ago

Fixed up win32.mak files in runtime-src that set DEFS for ANY of the indexers that can be ENABLEd/DISABLEd, such that DEFS for ALL the indexers are now set. Not doing so was causing memory overwrite problems (and consequently crashing) since different windows makefiles specified different indexers as specifically defined (leaving others unmentioned) whereas other makefiles would particularly pass on DEFS flags for all indexers. This made classes which were compiled which such makefiles and which contained references to these indexer objects a different size.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 6.9 KB
RevLine 
[743]1###########################################################################
2#
3# win32 makefile -- src/recpt
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#
[15530]8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
[743]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
[15530]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
36Z3950_DIR = $(RUNTIME_DIR)\src\z3950
[15530]37
[16574]38
[11256]39GSDL_VC4 = 0
[2338]40LOCAL_LIBRARY = 0
[10439]41USE_Z3950 = 0
[19521]42DEBUG = 0
[7060]43DLL = 0
44DLLDEBUG = 0
[12990]45ENABLE_ACCENTFOLD = 1
[21485]46USE_GDBM = 1
[18076]47USE_SQLITE = 1
[21324]48ENABLE_MG = 1
49ENABLE_MGPP = 1
50ENABLE_LUCENE = 1
[1000]51
[19521]52!IF $(DEBUG)
53CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
54!ELSE
55CXXFLAGS =
56!ENDIF
[10439]57
[11256]58!IF $(GSDL_VC4)
[19521]59CXXFLAGS = $(CXXFLAGS) -GX
[11256]60!ELSE
[19521]61CXXFLAGS = $(CXXFLAGS) -EHsc
[11256]62!ENDIF
63
[7060]64!IF $(DLL)
[19521]65CXXFLAGS = $(CXXFLAGS) -MD
[7060]66!ELSE
67!IF ($(DLLDEBUG))
[19521]68CXXFLAGS = $(CXXFLAGS) -MDd
[7060]69!ENDIF
70!ENDIF
71
[12990]72!IF $(ENABLE_ACCENTFOLD)
[16908]73ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[12990]74!ELSE
[15530]75ACCENTFOLD_LIBS =
[12990]76!ENDIF
77
[21485]78!IF $(USE_GDBM)
79GDBM_DEFINES = -DUSE_GDBM
80GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
81!ELSE
82GDBM_DEFINES =
83GDBM_INCLUDES =
84!ENDIF
85
[21435]86!IF $(USE_SQLITE)
87SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
88!ELSE
[21324]89SQLITE_LIBS =
[15785]90!ENDIF
91
[10439]92!IF $(USE_Z3950)
[15545]93Z3950_DEFS = -DUSE_Z3950
94Z3950_INCLUDES = -I$(Z3950_DIR)
[18048]95Z3950_LIBS = $(Z3950_DIR)\gsdlz3950.lib $(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib
[10439]96!ELSE
[15545]97Z3950_DEFS =
98Z3950_INCLUDES =
99Z3950_LIBS =
[10439]100!ENDIF
[2338]101
[21435]102!IF $(ENABLE_MG)
[21324]103MG_DEFS = -DENABLE_MG
104MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
105 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
106MG_INCLUDES = -I"$(INDEXERS_DIR)\mg" -I"$(INDEXERS_DIR)\mg\lib"
[21435]107!ELSE
108MG_DEFS =
109MG_LIBS =
110MG_INCLUDES =
[21324]111!ENDIF
[15530]112
[21435]113!IF $(ENABLE_MGPP)
[21324]114MGPP_DEFS = -DENABLE_MGPP
115MGPP_SOURCES = phindaction.cpp
116MGPP_OBJECTS = phindaction.obj
117MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
118 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
[21336]119MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text" \
120 -I"$(INDEXERS_DIR)\mgpp\lib"
[21435]121!ELSE
122MGPP_DEFS =
123MGPP_SOURCES =
124MGPP_OBJECTS =
125MGPP_LIBS =
126MGPP_INCLUDES =
[21324]127!ENDIF
128
[21945]129!IF $(ENABLE_LUCENE)
130LUCENE_DEFS = -DENABLE_LUCENE
131!ELSE
132LUCENE_DEFS=
133!ENDIF
134
[15530]135AR = lib
136CC = cl
[15785]137DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[21945]138 -DGSDL_NOCACHE $(GDBM_DEFINES) $(Z3950_DEFS) $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
[16574]139INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
[21324]140 $(MG_INCLUDES) $(MGPP_INCLUDES) \
[18048]141 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\windows\expat\expat" \
[21485]142 $(GDBM_INCLUDES) \
[18077]143 $(Z3950_INCLUDES)
[15568]144LDFLAGS =
[18048]145LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" \
[18077]146 "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib" $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
[15530]147
148!IF $(GSDL_VC4)
149DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]150INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15530]151!ENDIF
152!IF $(LOCAL_LIBRARY)
153DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
154!ENDIF
155
156
[19521]157COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[15545]158LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
[743]159
[15530]160
[743]161.SUFFIXES:
162.SUFFIXES: .cpp .obj
163.cpp.obj:
164 $(COMPILE) $<
165
[1000]166
[15530]167SOURCES = \
168 action.cpp \
169 argdb.cpp \
170 authenaction.cpp \
171 browseaction.cpp \
172 browseactiontools.cpp \
173 browserclass.cpp \
174 browsetoolsclass.cpp \
175 cgiargs.cpp \
176 cgiutils.cpp \
177 cgiwrapper.cpp \
178 collectoraction.cpp \
[15540]179 configaction.cpp \
[15530]180 converter.cpp \
181 datelistbrowserclass.cpp \
182 depositoraction.cpp \
183 documentaction.cpp \
[15773]184 dynamicclassifieraction.cpp \
[15530]185 extlinkaction.cpp \
186 formattools.cpp \
187 gtiaction.cpp \
188 highlighttext.cpp \
189 historydb.cpp \
190 hlistbrowserclass.cpp \
191 htmlbrowserclass.cpp \
192 htmlutils.cpp \
193 invbrowserclass.cpp \
194 librarymain.cpp \
195 maincfg.cpp \
196 pageaction.cpp \
197 pagedbrowserclass.cpp \
[21324]198 $(MGPP_SOURCES) \
[15530]199 phindbrowserclass.cpp \
200 pingaction.cpp \
201 queryaction.cpp \
202 querytools.cpp \
203 receptionist.cpp \
204 statusaction.cpp \
205 summarise.cpp \
206 tipaction.cpp \
207 userdb.cpp \
208 usersaction.cpp \
209 vlistbrowserclass.cpp \
210 wizardaction.cpp
[743]211
[15530]212OBJECTS = \
213 action.obj \
214 argdb.obj \
215 authenaction.obj \
216 browseaction.obj \
217 browseactiontools.obj \
218 browserclass.obj \
219 browsetoolsclass.obj \
220 cgiargs.obj \
221 cgiutils.obj \
222 cgiwrapper.obj \
223 collectoraction.obj \
[15540]224 configaction.obj \
[15530]225 converter.obj \
226 datelistbrowserclass.obj \
227 depositoraction.obj \
228 documentaction.obj \
[15773]229 dynamicclassifieraction.obj \
[15530]230 extlinkaction.obj \
231 formattools.obj \
232 gtiaction.obj \
233 highlighttext.obj \
234 historydb.obj \
235 hlistbrowserclass.obj \
236 htmlbrowserclass.obj \
237 htmlutils.obj \
238 invbrowserclass.obj \
239 librarymain.obj \
240 maincfg.obj \
241 pageaction.obj \
242 pagedbrowserclass.obj \
[21324]243 $(MGPP_OBJECTS) \
[15530]244 phindbrowserclass.obj \
245 pingaction.obj \
246 queryaction.obj \
247 querytools.obj \
248 receptionist.obj \
249 statusaction.obj \
250 summarise.obj \
251 tipaction.obj \
252 userdb.obj \
253 usersaction.obj \
254 vlistbrowserclass.obj \
255 wizardaction.obj
[743]256
[15569]257LIBRARY = gsdlrecpt.lib
258
[15530]259GSDL_LIBS = \
[15538]260 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
261 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
[21324]262 $(MG_LIBS) \
263 $(MGPP_LIBS) \
[16574]264 "$(COMMON_DIR)\src\lib\gsdllib.lib"
[743]265
[15530]266EXECUTABLE_OBJECTS = \
267 $(OBJECTS) \
268 $(GSDL_LIBS)
[743]269
[18612]270EXECUTABLE = library.cgi
[743]271
272
[15569]273# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
[15542]274!IF $(LOCAL_LIBRARY)
275all: $(LIBRARY)
276!ELSE
[15569]277all: $(LIBRARY) $(EXECUTABLE)
[15542]278!ENDIF
279
[15580]280gsdlrecpt.lib: $(OBJECTS)
281 if EXIST $(LIBRARY) del $(LIBRARY)
282 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
[15542]283
[18612]284library.cgi: $(EXECUTABLE_OBJECTS)
[15530]285 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[743]286
[2338]287!IF $(LOCAL_LIBRARY)
[15569]288install:
[2338]289!ELSE
[15530]290install: $(EXECUTABLE)
[15580]291 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin"
[2338]292!ENDIF
[743]293
[15530]294clean:
295 del *.obj
[15580]296 del $(LIBRARY)
297 del $(EXECUTABLE)
[743]298
[10439]299
[15530]300# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
[2338]301statusaction.obj: FORCE
[4738]302configaction.obj: FORCE
[743]303
[9129]304FORCE:
Note: See TracBrowser for help on using the repository browser.