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

Last change on this file since 21752 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
Line 
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#
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
27GSDL_DIR = ..\..\..
28COMMON_DIR = $(GSDL_DIR)\common-src
29RUNTIME_DIR = $(GSDL_DIR)\runtime-src
30
31INDEXERS_DIR = $(COMMON_DIR)\indexers
32COMMON_PACKAGES_DIR = $(COMMON_DIR)\packages
33PACKAGES_DIR = $(RUNTIME_DIR)\packages
34COLSERVR_DIR = $(RUNTIME_DIR)\src\colservr
35PROTOCOL_DIR = $(RUNTIME_DIR)\src\protocol
36Z3950_DIR = $(RUNTIME_DIR)\src\z3950
37
38
39GSDL_VC4 = 0
40LOCAL_LIBRARY = 0
41USE_Z3950 = 0
42DEBUG = 0
43DLL = 0
44DLLDEBUG = 0
45ENABLE_ACCENTFOLD = 1
46USE_GDBM = 1
47USE_SQLITE = 1
48ENABLE_MG = 1
49ENABLE_MGPP = 1
50ENABLE_LUCENE = 1
51
52!IF $(DEBUG)
53CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
54!ELSE
55CXXFLAGS =
56!ENDIF
57
58!IF $(GSDL_VC4)
59CXXFLAGS = $(CXXFLAGS) -GX
60!ELSE
61CXXFLAGS = $(CXXFLAGS) -EHsc
62!ENDIF
63
64!IF $(DLL)
65CXXFLAGS = $(CXXFLAGS) -MD
66!ELSE
67!IF ($(DLLDEBUG))
68CXXFLAGS = $(CXXFLAGS) -MDd
69!ENDIF
70!ENDIF
71
72!IF $(ENABLE_ACCENTFOLD)
73ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
74!ELSE
75ACCENTFOLD_LIBS =
76!ENDIF
77
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
86!IF $(USE_SQLITE)
87SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
88!ELSE
89SQLITE_LIBS =
90!ENDIF
91
92!IF $(USE_Z3950)
93Z3950_DEFS = -DUSE_Z3950
94Z3950_INCLUDES = -I$(Z3950_DIR)
95Z3950_LIBS = $(Z3950_DIR)\gsdlz3950.lib $(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib
96!ELSE
97Z3950_DEFS =
98Z3950_INCLUDES =
99Z3950_LIBS =
100!ENDIF
101
102!IF $(ENABLE_MG)
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"
107!ELSE
108MG_DEFS =
109MG_LIBS =
110MG_INCLUDES =
111!ENDIF
112
113!IF $(ENABLE_MGPP)
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"
119MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text" \
120 -I"$(INDEXERS_DIR)\mgpp\lib"
121!ELSE
122MGPP_DEFS =
123MGPP_SOURCES =
124MGPP_OBJECTS =
125MGPP_LIBS =
126MGPP_INCLUDES =
127!ENDIF
128
129AR = lib
130CC = cl
131DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
132 -DGSDL_NOCACHE $(GDBM_DEFINES) $(Z3950_DEFS) $(MG_DEFS) $(MGPP_DEFS)
133INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
134 $(MG_INCLUDES) $(MGPP_INCLUDES) \
135 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\windows\expat\expat" \
136 $(GDBM_INCLUDES) \
137 $(Z3950_INCLUDES)
138LDFLAGS =
139LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" \
140 "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib" $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
141
142!IF $(GSDL_VC4)
143DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
144INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
145!ENDIF
146!IF $(LOCAL_LIBRARY)
147DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
148!ENDIF
149
150
151COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
152LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
153
154
155.SUFFIXES:
156.SUFFIXES: .cpp .obj
157.cpp.obj:
158 $(COMPILE) $<
159
160
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 \
173 configaction.cpp \
174 converter.cpp \
175 datelistbrowserclass.cpp \
176 depositoraction.cpp \
177 documentaction.cpp \
178 dynamicclassifieraction.cpp \
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 \
192 $(MGPP_SOURCES) \
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
205
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 \
218 configaction.obj \
219 converter.obj \
220 datelistbrowserclass.obj \
221 depositoraction.obj \
222 documentaction.obj \
223 dynamicclassifieraction.obj \
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 \
237 $(MGPP_OBJECTS) \
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
250
251LIBRARY = gsdlrecpt.lib
252
253GSDL_LIBS = \
254 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
255 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
256 $(MG_LIBS) \
257 $(MGPP_LIBS) \
258 "$(COMMON_DIR)\src\lib\gsdllib.lib"
259
260EXECUTABLE_OBJECTS = \
261 $(OBJECTS) \
262 $(GSDL_LIBS)
263
264EXECUTABLE = library.cgi
265
266
267# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
268!IF $(LOCAL_LIBRARY)
269all: $(LIBRARY)
270!ELSE
271all: $(LIBRARY) $(EXECUTABLE)
272!ENDIF
273
274gsdlrecpt.lib: $(OBJECTS)
275 if EXIST $(LIBRARY) del $(LIBRARY)
276 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
277
278library.cgi: $(EXECUTABLE_OBJECTS)
279 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
280
281!IF $(LOCAL_LIBRARY)
282install:
283!ELSE
284install: $(EXECUTABLE)
285 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin"
286!ENDIF
287
288clean:
289 del *.obj
290 del $(LIBRARY)
291 del $(EXECUTABLE)
292
293
294# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
295statusaction.obj: FORCE
296configaction.obj: FORCE
297
298FORCE:
Note: See TracBrowser for help on using the repository browser.