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

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

GSDLARCH used in Windows makefiles (and gsicontrol.bat) when working out the cgi-bin path (now cgi-bin\GSDL_OS_ARCH) to install the binaries like library.cgi and oaiserver.cgi into.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 9.7 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
[22926]42USE_GSDL_MOD = 0
[19521]43DEBUG = 0
[7060]44DLL = 0
45DLLDEBUG = 0
[12990]46ENABLE_ACCENTFOLD = 1
[21485]47USE_GDBM = 1
[22090]48USE_JDBM = 1
[18076]49USE_SQLITE = 1
[22090]50USE_MSSQL = 0
[21324]51ENABLE_MG = 1
52ENABLE_MGPP = 1
53ENABLE_LUCENE = 1
[1000]54
[19521]55!IF $(DEBUG)
56CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
[22960]57LDFLAGS = -DEBUG -Z7 /errorReport:prompt
[19521]58!ELSE
59CXXFLAGS =
[22960]60LDFLAGS =
[19521]61!ENDIF
[10439]62
[11256]63!IF $(GSDL_VC4)
[19521]64CXXFLAGS = $(CXXFLAGS) -GX
[11256]65!ELSE
[19521]66CXXFLAGS = $(CXXFLAGS) -EHsc
[11256]67!ENDIF
68
[7060]69!IF $(DLL)
[19521]70CXXFLAGS = $(CXXFLAGS) -MD
[7060]71!ELSE
72!IF ($(DLLDEBUG))
[19521]73CXXFLAGS = $(CXXFLAGS) -MDd
[7060]74!ENDIF
75!ENDIF
76
[12990]77!IF $(ENABLE_ACCENTFOLD)
[16908]78ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[12990]79!ELSE
[15530]80ACCENTFOLD_LIBS =
[12990]81!ENDIF
82
[21485]83!IF $(USE_GDBM)
84GDBM_DEFINES = -DUSE_GDBM
[22090]85GDBM_LIBS = "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib"
[21485]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 =
[22090]89GDBM_LIBS =
[21485]90GDBM_INCLUDES =
91!ENDIF
92
[22090]93!IF $(USE_JDBM)
94JDBM_DEFINES = -DUSE_JDBM
95!ELSE
96JDBM_DEFINES =
97!ENDIF
98
[21435]99!IF $(USE_SQLITE)
[22062]100SQLITE_DEFINES = -DUSE_SQLITE
101SQL_SOURCES = sqlqueryaction.cpp
[22066]102SQL_OBJECTS = sqlqueryaction.obj
[21435]103SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
104!ELSE
[22062]105SQLITE_DEFINES =
106SQL_SOURCES =
107SQL_OBJECTS =
[21324]108SQLITE_LIBS =
[15785]109!ENDIF
110
[22090]111!IF $(USE_MSSQL)
112MSSQL_DEFINES = -DUSE_MSSQL
113!ELSE
114MSSQL_DEFINES =
115!ENDIF
116
[10439]117!IF $(USE_Z3950)
[15545]118Z3950_DEFS = -DUSE_Z3950
119Z3950_INCLUDES = -I$(Z3950_DIR)
[18048]120Z3950_LIBS = $(Z3950_DIR)\gsdlz3950.lib $(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib
[10439]121!ELSE
[15545]122Z3950_DEFS =
123Z3950_INCLUDES =
124Z3950_LIBS =
[10439]125!ENDIF
[2338]126
[22926]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
[21435]153!IF $(ENABLE_MG)
[21324]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"
[21435]158!ELSE
159MG_DEFS =
160MG_LIBS =
161MG_INCLUDES =
[21324]162!ENDIF
[15530]163
[21435]164!IF $(ENABLE_MGPP)
[21324]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"
[21336]170MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text" \
171 -I"$(INDEXERS_DIR)\mgpp\lib"
[21435]172!ELSE
173MGPP_DEFS =
174MGPP_SOURCES =
175MGPP_OBJECTS =
176MGPP_LIBS =
177MGPP_INCLUDES =
[21324]178!ENDIF
179
[21945]180!IF $(ENABLE_LUCENE)
181LUCENE_DEFS = -DENABLE_LUCENE
182!ELSE
183LUCENE_DEFS=
184!ENDIF
185
[15530]186AR = lib
187CC = cl
[15785]188DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[22090]189 -DGSDL_NOCACHE $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
190 $(Z3950_DEFS) $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
[16574]191INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
[21324]192 $(MG_INCLUDES) $(MGPP_INCLUDES) \
[22766]193 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\expat\include" \
[21485]194 $(GDBM_INCLUDES) \
[18077]195 $(Z3950_INCLUDES)
[22766]196LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\expat\lib\libexpat.lib" \
[22090]197 $(GDBM_LIBS) $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
[15530]198
199!IF $(GSDL_VC4)
200DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]201INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15530]202!ENDIF
203!IF $(LOCAL_LIBRARY)
204DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
205!ENDIF
206
207
[19521]208COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[22960]209LINK = $(CC) -nologo $(LDFLAGS) -Fe"$@"
[743]210
[15530]211
[743]212.SUFFIXES:
213.SUFFIXES: .cpp .obj
214.cpp.obj:
215 $(COMPILE) $<
216
[22188]217OSPROCESS_SOURCES = \
218 os_process.cpp \
219 os_process_windows.cpp \
[1000]220
[22188]221OSPROCESS_OBJECTS = \
222 os_process.obj \
223 os_process_windows.obj \
224
225
[15530]226SOURCES = \
227 action.cpp \
228 argdb.cpp \
229 authenaction.cpp \
[22062]230 basequeryaction.cpp \
[15530]231 browseaction.cpp \
232 browseactiontools.cpp \
233 browserclass.cpp \
234 browsetoolsclass.cpp \
235 cgiargs.cpp \
236 cgiutils.cpp \
237 cgiwrapper.cpp \
238 collectoraction.cpp \
[15540]239 configaction.cpp \
[15530]240 converter.cpp \
241 datelistbrowserclass.cpp \
242 depositoraction.cpp \
243 documentaction.cpp \
[15773]244 dynamicclassifieraction.cpp \
[15530]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 \
[22188]256 $(OSPROCESS_SOURCES) \
[15530]257 pageaction.cpp \
258 pagedbrowserclass.cpp \
[21324]259 $(MGPP_SOURCES) \
[15530]260 phindbrowserclass.cpp \
261 pingaction.cpp \
262 queryaction.cpp \
263 querytools.cpp \
264 receptionist.cpp \
265 statusaction.cpp \
[22062]266 $(SQL_SOURCES) \
[15530]267 summarise.cpp \
268 tipaction.cpp \
269 userdb.cpp \
270 usersaction.cpp \
271 vlistbrowserclass.cpp \
272 wizardaction.cpp
[743]273
[15530]274OBJECTS = \
275 action.obj \
276 argdb.obj \
277 authenaction.obj \
[22062]278 basequeryaction.obj \
[15530]279 browseaction.obj \
280 browseactiontools.obj \
281 browserclass.obj \
282 browsetoolsclass.obj \
283 cgiargs.obj \
284 cgiutils.obj \
285 cgiwrapper.obj \
286 collectoraction.obj \
[15540]287 configaction.obj \
[15530]288 converter.obj \
289 datelistbrowserclass.obj \
290 depositoraction.obj \
291 documentaction.obj \
[15773]292 dynamicclassifieraction.obj \
[15530]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 \
[22188]304 $(OSPROCESS_OBJECTS) \
[15530]305 pageaction.obj \
306 pagedbrowserclass.obj \
[21324]307 $(MGPP_OBJECTS) \
[15530]308 phindbrowserclass.obj \
309 pingaction.obj \
310 queryaction.obj \
311 querytools.obj \
312 receptionist.obj \
313 statusaction.obj \
[22062]314 $(SQL_OBJECTS) \
[15530]315 summarise.obj \
316 tipaction.obj \
317 userdb.obj \
318 usersaction.obj \
319 vlistbrowserclass.obj \
320 wizardaction.obj
[743]321
[15569]322LIBRARY = gsdlrecpt.lib
323
[15530]324GSDL_LIBS = \
[15538]325 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
326 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
[21324]327 $(MG_LIBS) \
328 $(MGPP_LIBS) \
[16574]329 "$(COMMON_DIR)\src\lib\gsdllib.lib"
[743]330
[15530]331EXECUTABLE_OBJECTS = \
332 $(OBJECTS) \
333 $(GSDL_LIBS)
[743]334
[18612]335EXECUTABLE = library.cgi
[743]336
337
[15569]338# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
[15542]339!IF $(LOCAL_LIBRARY)
[22926]340all: $(LIBRARY) $(APACHE_MODULE)
[15542]341!ELSE
[22926]342all: $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE)
[15542]343!ENDIF
344
[15580]345gsdlrecpt.lib: $(OBJECTS)
346 if EXIST $(LIBRARY) del $(LIBRARY)
347 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
[15542]348
[18612]349library.cgi: $(EXECUTABLE_OBJECTS)
[15530]350 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[743]351
[22926]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
[22188]379osprocess-test.cgi: $(OSPROCESS_OBJECTS) os_process_test.obj
380 $(LINK) $(OSPROCESS_OBJECTS) os_process_test.obj ..\..\..\common-src\src\lib\gsdllib.lib
381
[2338]382!IF $(LOCAL_LIBRARY)
[15569]383install:
[2338]384!ELSE
[15530]385install: $(EXECUTABLE)
[24902]386!IF "$(PROCESSOR_ARCHITECTURE)"==""
[24874]387 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows"
[24902]388!ELSE IF EXIST ("$(GSDL_DIR)\bin\windows")
389 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows"
390!ELSE IF "$(PROCESSOR_ARCHITECTURE)"=="x86"
391 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows32"
392!ELSE
393 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin\windows64"
[2338]394!ENDIF
[24902]395!ENDIF
[743]396
[15530]397clean:
398 del *.obj
[15580]399 del $(LIBRARY)
400 del $(EXECUTABLE)
[743]401
[10439]402
[15530]403# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
[2338]404statusaction.obj: FORCE
[4738]405configaction.obj: FORCE
[743]406
[9129]407FORCE:
Note: See TracBrowser for help on using the repository browser.