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

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

Third set of commits to do with the migration of cgi-bin into common-src, so that upon make install, common-src\cgi-bin will be installed in cgi-bin\GSDLOS(GSDLARCH). The first commit was of changes to files in cgi-bin itself. The second commit was moving cgi-bin. This one involves changes to all the files referring to cgi-bin where this needs to be changed to cgi-bin\OS_and_ARCH.

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