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

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

Modifying historydb.cpp so it uses the more general dbclass object instead of being hard-wired to use gdbmclass. However, this class is still set up to use gdbm, provided USE_GDBM is set (which it always is in the main Greenstone). The problem with the history database is it is Greenstone-specific, not collection-specific, so there is no infodbtype option to check to see what database type should be used (a new option will need to be created in the main.cfg file). If USE_GDBM isn't set, the historydb class will do nothing.

  • 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
[15530]129AR = lib
130CC = cl
[15785]131DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[21485]132 -DGSDL_NOCACHE $(GDBM_DEFINES) $(Z3950_DEFS) $(MG_DEFS) $(MGPP_DEFS)
[16574]133INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
[21324]134 $(MG_INCLUDES) $(MGPP_INCLUDES) \
[18048]135 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\windows\expat\expat" \
[21485]136 $(GDBM_INCLUDES) \
[18077]137 $(Z3950_INCLUDES)
[15568]138LDFLAGS =
[18048]139LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" \
[18077]140 "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib" $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
[15530]141
142!IF $(GSDL_VC4)
143DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]144INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15530]145!ENDIF
146!IF $(LOCAL_LIBRARY)
147DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
148!ENDIF
149
150
[19521]151COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[15545]152LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
[743]153
[15530]154
[743]155.SUFFIXES:
156.SUFFIXES: .cpp .obj
157.cpp.obj:
158 $(COMPILE) $<
159
[1000]160
[15530]161SOURCES = \
162 action.cpp \
163 argdb.cpp \
164 authenaction.cpp \
165 browseaction.cpp \
166 browseactiontools.cpp \
167 browserclass.cpp \
168 browsetoolsclass.cpp \
169 cgiargs.cpp \
170 cgiutils.cpp \
171 cgiwrapper.cpp \
172 collectoraction.cpp \
[15540]173 configaction.cpp \
[15530]174 converter.cpp \
175 datelistbrowserclass.cpp \
176 depositoraction.cpp \
177 documentaction.cpp \
[15773]178 dynamicclassifieraction.cpp \
[15530]179 extlinkaction.cpp \
180 formattools.cpp \
181 gtiaction.cpp \
182 highlighttext.cpp \
183 historydb.cpp \
184 hlistbrowserclass.cpp \
185 htmlbrowserclass.cpp \
186 htmlutils.cpp \
187 invbrowserclass.cpp \
188 librarymain.cpp \
189 maincfg.cpp \
190 pageaction.cpp \
191 pagedbrowserclass.cpp \
[21324]192 $(MGPP_SOURCES) \
[15530]193 phindbrowserclass.cpp \
194 pingaction.cpp \
195 queryaction.cpp \
196 querytools.cpp \
197 receptionist.cpp \
198 statusaction.cpp \
199 summarise.cpp \
200 tipaction.cpp \
201 userdb.cpp \
202 usersaction.cpp \
203 vlistbrowserclass.cpp \
204 wizardaction.cpp
[743]205
[15530]206OBJECTS = \
207 action.obj \
208 argdb.obj \
209 authenaction.obj \
210 browseaction.obj \
211 browseactiontools.obj \
212 browserclass.obj \
213 browsetoolsclass.obj \
214 cgiargs.obj \
215 cgiutils.obj \
216 cgiwrapper.obj \
217 collectoraction.obj \
[15540]218 configaction.obj \
[15530]219 converter.obj \
220 datelistbrowserclass.obj \
221 depositoraction.obj \
222 documentaction.obj \
[15773]223 dynamicclassifieraction.obj \
[15530]224 extlinkaction.obj \
225 formattools.obj \
226 gtiaction.obj \
227 highlighttext.obj \
228 historydb.obj \
229 hlistbrowserclass.obj \
230 htmlbrowserclass.obj \
231 htmlutils.obj \
232 invbrowserclass.obj \
233 librarymain.obj \
234 maincfg.obj \
235 pageaction.obj \
236 pagedbrowserclass.obj \
[21324]237 $(MGPP_OBJECTS) \
[15530]238 phindbrowserclass.obj \
239 pingaction.obj \
240 queryaction.obj \
241 querytools.obj \
242 receptionist.obj \
243 statusaction.obj \
244 summarise.obj \
245 tipaction.obj \
246 userdb.obj \
247 usersaction.obj \
248 vlistbrowserclass.obj \
249 wizardaction.obj
[743]250
[15569]251LIBRARY = gsdlrecpt.lib
252
[15530]253GSDL_LIBS = \
[15538]254 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
255 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
[21324]256 $(MG_LIBS) \
257 $(MGPP_LIBS) \
[16574]258 "$(COMMON_DIR)\src\lib\gsdllib.lib"
[743]259
[15530]260EXECUTABLE_OBJECTS = \
261 $(OBJECTS) \
262 $(GSDL_LIBS)
[743]263
[18612]264EXECUTABLE = library.cgi
[743]265
266
[15569]267# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
[15542]268!IF $(LOCAL_LIBRARY)
269all: $(LIBRARY)
270!ELSE
[15569]271all: $(LIBRARY) $(EXECUTABLE)
[15542]272!ENDIF
273
[15580]274gsdlrecpt.lib: $(OBJECTS)
275 if EXIST $(LIBRARY) del $(LIBRARY)
276 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
[15542]277
[18612]278library.cgi: $(EXECUTABLE_OBJECTS)
[15530]279 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[743]280
[2338]281!IF $(LOCAL_LIBRARY)
[15569]282install:
[2338]283!ELSE
[15530]284install: $(EXECUTABLE)
[15580]285 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin"
[2338]286!ENDIF
[743]287
[15530]288clean:
289 del *.obj
[15580]290 del $(LIBRARY)
291 del $(EXECUTABLE)
[743]292
[10439]293
[15530]294# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
[2338]295statusaction.obj: FORCE
[4738]296configaction.obj: FORCE
[743]297
[9129]298FORCE:
Note: See TracBrowser for help on using the repository browser.