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

Last change on this file since 29047 was 29047, checked in by ak19, 10 years ago

Compiling formatconverter on Windows

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