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

Last change on this file since 24958 was 24958, checked in by ak19, 12 years ago

First commit to do with Greenstone's support for RSS. Committing Dr Bainbridge's code which was already working for windows. This has now been tested on Linux, where it can be got to work with changes to zextra.dm and base.dm and if the rss-items.rdf file generated by the update to BasePlugout is moved to the index folder). The next set of commits will make the way rssaction.cpp accesses the rss-items.rdf file independent of where the GS server is located, with changes to the protocol class.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 10.0 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
42USE_GSDL_MOD = 0
43DEBUG = 0
44DLL = 0
45DLLDEBUG = 0
46ENABLE_ACCENTFOLD = 1
47USE_RSS = 1
48USE_GDBM = 1
49USE_JDBM = 1
50USE_SQLITE = 1
51USE_MSSQL = 0
52ENABLE_MG = 1
53ENABLE_MGPP = 1
54ENABLE_LUCENE = 1
55
56!IF $(DEBUG)
57CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
58LDFLAGS = -DEBUG -Z7 /errorReport:prompt
59!ELSE
60CXXFLAGS =
61LDFLAGS =
62!ENDIF
63
64!IF $(GSDL_VC4)
65CXXFLAGS = $(CXXFLAGS) -GX
66!ELSE
67CXXFLAGS = $(CXXFLAGS) -EHsc
68!ENDIF
69
70!IF $(DLL)
71CXXFLAGS = $(CXXFLAGS) -MD
72!ELSE
73!IF ($(DLLDEBUG))
74CXXFLAGS = $(CXXFLAGS) -MDd
75!ENDIF
76!ENDIF
77
78!IF $(ENABLE_ACCENTFOLD)
79ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
80!ELSE
81ACCENTFOLD_LIBS =
82!ENDIF
83
84!IF $(USE_RSS)
85RSS_DEFINES = -DUSE_RSS
86RSS_SOURCES = rssaction.cpp
87RSS_OBJECTS = rssaction.obj
88!ELSE
89RSS_DEFINES =
90RSS_SOURCES =
91RSS_OBJECTS =
92!ENDIF
93
94!IF $(USE_GDBM)
95GDBM_DEFINES = -DUSE_GDBM
96GDBM_LIBS = "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib"
97GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
98!ELSE
99GDBM_DEFINES =
100GDBM_LIBS =
101GDBM_INCLUDES =
102!ENDIF
103
104!IF $(USE_JDBM)
105JDBM_DEFINES = -DUSE_JDBM
106!ELSE
107JDBM_DEFINES =
108!ENDIF
109
110!IF $(USE_SQLITE)
111SQLITE_DEFINES = -DUSE_SQLITE
112SQL_SOURCES = sqlqueryaction.cpp
113SQL_OBJECTS = sqlqueryaction.obj
114SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
115!ELSE
116SQLITE_DEFINES =
117SQL_SOURCES =
118SQL_OBJECTS =
119SQLITE_LIBS =
120!ENDIF
121
122!IF $(USE_MSSQL)
123MSSQL_DEFINES = -DUSE_MSSQL
124!ELSE
125MSSQL_DEFINES =
126!ENDIF
127
128!IF $(USE_Z3950)
129Z3950_DEFS = -DUSE_Z3950
130Z3950_INCLUDES = -I$(Z3950_DIR)
131Z3950_LIBS = $(Z3950_DIR)\gsdlz3950.lib $(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib
132!ELSE
133Z3950_DEFS =
134Z3950_INCLUDES =
135Z3950_LIBS =
136!ENDIF
137
138!IF $(USE_GSDL_MOD)
139APACHE_OBJS = string_pool.obj mod_gsdl.obj
140
141APACHE_INSTDIR=$(GSDL_DIR)\apache-httpd\windows
142APACHE_SRCLIBDIR=..\..\packages\apache-httpd\httpd-2.2.11\srclib
143
144APXS_CFLAGS=-I$(APACHE_INSTDIR)\include \
145 -I$(APACHE_SRCLIBDIR)\apr\include -I$(APACHE_SRCLIBDIR)\apr-util\include
146
147APXS_LINKFLAGS= /libpath:$(APACHE_INSTDIR)\lib \
148 /libpath:$(APACHE_SRCLIBDIR)\apr\include \
149 /libpath:$(APACHE_SRCLIBDIR)\apr-util\include
150
151APXS_LDFLAGS= -L$(APACHE_INSTDIR)\lib \
152 -L$(APACHE_SRCLIBDIR)\apr\include \
153 -L$(APACHE_SRCLIBDIR)\apr-util\include
154
155APXS_LIBS = libaprutil-1.lib libapr-1.lib libhttpd.lib
156
157APACHE_MODULE = mod_gsdl.so
158!ELSE
159APACHE_OBJS =
160APACHE_MODULE =
161!ENDIF
162
163
164!IF $(ENABLE_MG)
165MG_DEFS = -DENABLE_MG
166MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
167 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
168MG_INCLUDES = -I"$(INDEXERS_DIR)\mg" -I"$(INDEXERS_DIR)\mg\lib"
169!ELSE
170MG_DEFS =
171MG_LIBS =
172MG_INCLUDES =
173!ENDIF
174
175!IF $(ENABLE_MGPP)
176MGPP_DEFS = -DENABLE_MGPP
177MGPP_SOURCES = phindaction.cpp
178MGPP_OBJECTS = phindaction.obj
179MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
180 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
181MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text" \
182 -I"$(INDEXERS_DIR)\mgpp\lib"
183!ELSE
184MGPP_DEFS =
185MGPP_SOURCES =
186MGPP_OBJECTS =
187MGPP_LIBS =
188MGPP_INCLUDES =
189!ENDIF
190
191!IF $(ENABLE_LUCENE)
192LUCENE_DEFS = -DENABLE_LUCENE
193!ELSE
194LUCENE_DEFS=
195!ENDIF
196
197AR = lib
198CC = cl
199DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
200 -DGSDL_NOCACHE $(RSS_DEFINES) $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
201 $(Z3950_DEFS) $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
202INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
203 $(MG_INCLUDES) $(MGPP_INCLUDES) \
204 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\expat\include" \
205 $(GDBM_INCLUDES) \
206 $(Z3950_INCLUDES)
207LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\expat\lib\libexpat.lib" \
208 $(GDBM_LIBS) $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
209
210!IF $(GSDL_VC4)
211DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
212INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
213!ENDIF
214!IF $(LOCAL_LIBRARY)
215DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
216!ENDIF
217
218CXXFLAGS = $(CXXFLAGS) -DDOCHANDLE
219
220COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
221LINK = $(CC) -nologo $(LDFLAGS) -Fe"$@"
222
223
224.SUFFIXES:
225.SUFFIXES: .cpp .obj
226.cpp.obj:
227 $(COMPILE) $<
228
229OSPROCESS_SOURCES = \
230 os_process.cpp \
231 os_process_windows.cpp \
232
233OSPROCESS_OBJECTS = \
234 os_process.obj \
235 os_process_windows.obj \
236
237
238SOURCES = \
239 action.cpp \
240 argdb.cpp \
241 authenaction.cpp \
242 basequeryaction.cpp \
243 browseaction.cpp \
244 browseactiontools.cpp \
245 browserclass.cpp \
246 browsetoolsclass.cpp \
247 cgiargs.cpp \
248 cgiutils.cpp \
249 cgiwrapper.cpp \
250 collectoraction.cpp \
251 configaction.cpp \
252 converter.cpp \
253 datelistbrowserclass.cpp \
254 depositoraction.cpp \
255 documentaction.cpp \
256 dynamicclassifieraction.cpp \
257 extlinkaction.cpp \
258 formattools.cpp \
259 gtiaction.cpp \
260 highlighttext.cpp \
261 historydb.cpp \
262 hlistbrowserclass.cpp \
263 htmlbrowserclass.cpp \
264 htmlutils.cpp \
265 invbrowserclass.cpp \
266 librarymain.cpp \
267 maincfg.cpp \
268 $(OSPROCESS_SOURCES) \
269 pageaction.cpp \
270 pagedbrowserclass.cpp \
271 $(MGPP_SOURCES) \
272 phindbrowserclass.cpp \
273 pingaction.cpp \
274 queryaction.cpp \
275 querytools.cpp \
276 receptionist.cpp \
277 $(RSS_SOURCES) \
278 statusaction.cpp \
279 $(SQL_SOURCES) \
280 summarise.cpp \
281 tipaction.cpp \
282 userdb.cpp \
283 usersaction.cpp \
284 vlistbrowserclass.cpp \
285 wizardaction.cpp
286
287OBJECTS = \
288 action.obj \
289 argdb.obj \
290 authenaction.obj \
291 basequeryaction.obj \
292 browseaction.obj \
293 browseactiontools.obj \
294 browserclass.obj \
295 browsetoolsclass.obj \
296 cgiargs.obj \
297 cgiutils.obj \
298 cgiwrapper.obj \
299 collectoraction.obj \
300 configaction.obj \
301 converter.obj \
302 datelistbrowserclass.obj \
303 depositoraction.obj \
304 documentaction.obj \
305 dynamicclassifieraction.obj \
306 extlinkaction.obj \
307 formattools.obj \
308 gtiaction.obj \
309 highlighttext.obj \
310 historydb.obj \
311 hlistbrowserclass.obj \
312 htmlbrowserclass.obj \
313 htmlutils.obj \
314 invbrowserclass.obj \
315 librarymain.obj \
316 maincfg.obj \
317 $(OSPROCESS_OBJECTS) \
318 pageaction.obj \
319 pagedbrowserclass.obj \
320 $(MGPP_OBJECTS) \
321 phindbrowserclass.obj \
322 pingaction.obj \
323 queryaction.obj \
324 querytools.obj \
325 receptionist.obj \
326 $(RSS_OBJECTS) \
327 statusaction.obj \
328 $(SQL_OBJECTS) \
329 summarise.obj \
330 tipaction.obj \
331 userdb.obj \
332 usersaction.obj \
333 vlistbrowserclass.obj \
334 wizardaction.obj
335
336LIBRARY = gsdlrecpt.lib
337
338GSDL_LIBS = \
339 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
340 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
341 $(MG_LIBS) \
342 $(MGPP_LIBS) \
343 "$(COMMON_DIR)\src\lib\gsdllib.lib"
344
345EXECUTABLE_OBJECTS = \
346 $(OBJECTS) \
347 $(GSDL_LIBS)
348
349EXECUTABLE = library.cgi
350
351
352# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
353!IF $(LOCAL_LIBRARY)
354all: $(LIBRARY) $(APACHE_MODULE)
355!ELSE
356all: $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE)
357!ENDIF
358
359gsdlrecpt.lib: $(OBJECTS)
360 if EXIST $(LIBRARY) del $(LIBRARY)
361 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
362
363library.cgi: $(EXECUTABLE_OBJECTS)
364 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
365
366
367mod_gsdl.obj: mod_gsdl.cpp
368 $(CC) -nologo /MD /W3 /D WIN32 /D _WINDOWS /D NDEBUG -c $(CXXFLAGS) $(DEFS) $(INCLUDES) -D_APACHE_MOD=2 $(APXS_CFLAGS) mod_gsdl.cpp
369## cl.exe /nologo /MT /W3 /O2 /D WIN32 /D _WINDOWS /D NDEBUG -I"C:\Program Files\xampp\apache\include" -c mod_gsdl.c
370
371mod_gsdl.so: $(APACHE_OBJS) $(LIBRARY)
372 $(CC) /nologo -Fe"mod_gsdl.dll" $(APACHE_OBJS) gsdlrecpt.lib $(GSDL_LIBS) $(LIBS) $(APXS_LDFLAGS) $(APXS_LIBS)
373
374# link /nologo /dll $(APACHE_OBJS) gsdlrecpt.lib $(GSDL_LIBS) $(LIBS) $(APXS_LDFLAGS) $(APXS_LIBS)
375 rename mod_gsdl.dll mod_gsdl.so
376
377## $(CC) -nologo /dll -Fe"$@" $(APACHE_OBJS) $(LIBRARY) $(GSDL_LIBS) $(LIBS)
378
379
380## link.exe kernel32.lib /nologo /subsystem:windows /dll /machine:I386 /libpath:"C:\Program Files\xampp\apache\lib" libaprutil-1.lib libapr-1.lib libhttpd.lib mod_gsdl.obj
381
382## rename mod_gsdl.dll mod_gsdl.so
383
384
385# COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
386# LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
387
388
389
390
391
392
393osprocess-test.cgi: $(OSPROCESS_OBJECTS) os_process_test.obj
394 $(LINK) $(OSPROCESS_OBJECTS) os_process_test.obj ..\..\..\common-src\src\lib\gsdllib.lib
395
396!IF $(LOCAL_LIBRARY)
397install:
398!ELSE
399install: $(EXECUTABLE)
400!IF "$(PROCESSOR_ARCHITECTURE)"==""
401 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows"
402!ELSE IF EXIST ("$(GSDL_DIR)\bin\windows")
403 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows"
404!ELSE IF "$(PROCESSOR_ARCHITECTURE)"=="x86"
405 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows32"
406!ELSE
407 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows64"
408!ENDIF
409!ENDIF
410
411clean:
412 del *.obj
413 del $(LIBRARY)
414 del $(EXECUTABLE)
415
416
417# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
418statusaction.obj: FORCE
419configaction.obj: FORCE
420
421FORCE:
Note: See TracBrowser for help on using the repository browser.