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

Last change on this file since 22188 was 22188, checked in by davidb, 14 years ago

Some refinement of the testing framework for the os_process class

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.8 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
[19521]42DEBUG = 0
[7060]43DLL = 0
44DLLDEBUG = 0
[12990]45ENABLE_ACCENTFOLD = 1
[21485]46USE_GDBM = 1
[22090]47USE_JDBM = 1
[18076]48USE_SQLITE = 1
[22090]49USE_MSSQL = 0
[21324]50ENABLE_MG = 1
51ENABLE_MGPP = 1
52ENABLE_LUCENE = 1
[1000]53
[19521]54!IF $(DEBUG)
55CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
56!ELSE
57CXXFLAGS =
58!ENDIF
[10439]59
[11256]60!IF $(GSDL_VC4)
[19521]61CXXFLAGS = $(CXXFLAGS) -GX
[11256]62!ELSE
[19521]63CXXFLAGS = $(CXXFLAGS) -EHsc
[11256]64!ENDIF
65
[7060]66!IF $(DLL)
[19521]67CXXFLAGS = $(CXXFLAGS) -MD
[7060]68!ELSE
69!IF ($(DLLDEBUG))
[19521]70CXXFLAGS = $(CXXFLAGS) -MDd
[7060]71!ENDIF
72!ENDIF
73
[12990]74!IF $(ENABLE_ACCENTFOLD)
[16908]75ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
[12990]76!ELSE
[15530]77ACCENTFOLD_LIBS =
[12990]78!ENDIF
79
[21485]80!IF $(USE_GDBM)
81GDBM_DEFINES = -DUSE_GDBM
[22090]82GDBM_LIBS = "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib"
[21485]83GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
84!ELSE
85GDBM_DEFINES =
[22090]86GDBM_LIBS =
[21485]87GDBM_INCLUDES =
88!ENDIF
89
[22090]90!IF $(USE_JDBM)
91JDBM_DEFINES = -DUSE_JDBM
92!ELSE
93JDBM_DEFINES =
94!ENDIF
95
[21435]96!IF $(USE_SQLITE)
[22062]97SQLITE_DEFINES = -DUSE_SQLITE
98SQL_SOURCES = sqlqueryaction.cpp
[22066]99SQL_OBJECTS = sqlqueryaction.obj
[21435]100SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
101!ELSE
[22062]102SQLITE_DEFINES =
103SQL_SOURCES =
104SQL_OBJECTS =
[21324]105SQLITE_LIBS =
[15785]106!ENDIF
107
[22090]108!IF $(USE_MSSQL)
109MSSQL_DEFINES = -DUSE_MSSQL
110!ELSE
111MSSQL_DEFINES =
112!ENDIF
113
[10439]114!IF $(USE_Z3950)
[15545]115Z3950_DEFS = -DUSE_Z3950
116Z3950_INCLUDES = -I$(Z3950_DIR)
[18048]117Z3950_LIBS = $(Z3950_DIR)\gsdlz3950.lib $(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib
[10439]118!ELSE
[15545]119Z3950_DEFS =
120Z3950_INCLUDES =
121Z3950_LIBS =
[10439]122!ENDIF
[2338]123
[21435]124!IF $(ENABLE_MG)
[21324]125MG_DEFS = -DENABLE_MG
126MG_LIBS = "$(INDEXERS_DIR)\mg\src\text\libmgtext.lib" \
127 "$(INDEXERS_DIR)\mg\lib\libmglib.lib"
128MG_INCLUDES = -I"$(INDEXERS_DIR)\mg" -I"$(INDEXERS_DIR)\mg\lib"
[21435]129!ELSE
130MG_DEFS =
131MG_LIBS =
132MG_INCLUDES =
[21324]133!ENDIF
[15530]134
[21435]135!IF $(ENABLE_MGPP)
[21324]136MGPP_DEFS = -DENABLE_MGPP
137MGPP_SOURCES = phindaction.cpp
138MGPP_OBJECTS = phindaction.obj
139MGPP_LIBS = "$(INDEXERS_DIR)\mgpp\text\libmgpptext.lib" \
140 "$(INDEXERS_DIR)\mgpp\lib\libmgpplib.lib"
[21336]141MGPP_INCLUDES = -I"$(INDEXERS_DIR)\mgpp\text" \
142 -I"$(INDEXERS_DIR)\mgpp\lib"
[21435]143!ELSE
144MGPP_DEFS =
145MGPP_SOURCES =
146MGPP_OBJECTS =
147MGPP_LIBS =
148MGPP_INCLUDES =
[21324]149!ENDIF
150
[21945]151!IF $(ENABLE_LUCENE)
152LUCENE_DEFS = -DENABLE_LUCENE
153!ELSE
154LUCENE_DEFS=
155!ENDIF
156
[15530]157AR = lib
158CC = cl
[15785]159DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
[22090]160 -DGSDL_NOCACHE $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
161 $(Z3950_DEFS) $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
[16574]162INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
[21324]163 $(MG_INCLUDES) $(MGPP_INCLUDES) \
[18048]164 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\windows\expat\expat" \
[21485]165 $(GDBM_INCLUDES) \
[18077]166 $(Z3950_INCLUDES)
[15568]167LDFLAGS =
[18048]168LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" \
[22090]169 $(GDBM_LIBS) $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
[15530]170
171!IF $(GSDL_VC4)
172DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
[18048]173INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
[15530]174!ENDIF
175!IF $(LOCAL_LIBRARY)
176DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
177!ENDIF
178
179
[19521]180COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[15545]181LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
[743]182
[15530]183
[743]184.SUFFIXES:
185.SUFFIXES: .cpp .obj
186.cpp.obj:
187 $(COMPILE) $<
188
[22188]189OSPROCESS_SOURCES = \
190 os_process.cpp \
191 os_process_windows.cpp \
[1000]192
[22188]193OSPROCESS_OBJECTS = \
194 os_process.obj \
195 os_process_windows.obj \
196
197
[15530]198SOURCES = \
199 action.cpp \
200 argdb.cpp \
201 authenaction.cpp \
[22062]202 basequeryaction.cpp \
[15530]203 browseaction.cpp \
204 browseactiontools.cpp \
205 browserclass.cpp \
206 browsetoolsclass.cpp \
207 cgiargs.cpp \
208 cgiutils.cpp \
209 cgiwrapper.cpp \
210 collectoraction.cpp \
[15540]211 configaction.cpp \
[15530]212 converter.cpp \
213 datelistbrowserclass.cpp \
214 depositoraction.cpp \
215 documentaction.cpp \
[15773]216 dynamicclassifieraction.cpp \
[15530]217 extlinkaction.cpp \
218 formattools.cpp \
219 gtiaction.cpp \
220 highlighttext.cpp \
221 historydb.cpp \
222 hlistbrowserclass.cpp \
223 htmlbrowserclass.cpp \
224 htmlutils.cpp \
225 invbrowserclass.cpp \
226 librarymain.cpp \
227 maincfg.cpp \
[22188]228 $(OSPROCESS_SOURCES) \
[15530]229 pageaction.cpp \
230 pagedbrowserclass.cpp \
[21324]231 $(MGPP_SOURCES) \
[15530]232 phindbrowserclass.cpp \
233 pingaction.cpp \
234 queryaction.cpp \
235 querytools.cpp \
236 receptionist.cpp \
237 statusaction.cpp \
[22062]238 $(SQL_SOURCES) \
[15530]239 summarise.cpp \
240 tipaction.cpp \
241 userdb.cpp \
242 usersaction.cpp \
243 vlistbrowserclass.cpp \
244 wizardaction.cpp
[743]245
[15530]246OBJECTS = \
247 action.obj \
248 argdb.obj \
249 authenaction.obj \
[22062]250 basequeryaction.obj \
[15530]251 browseaction.obj \
252 browseactiontools.obj \
253 browserclass.obj \
254 browsetoolsclass.obj \
255 cgiargs.obj \
256 cgiutils.obj \
257 cgiwrapper.obj \
258 collectoraction.obj \
[15540]259 configaction.obj \
[15530]260 converter.obj \
261 datelistbrowserclass.obj \
262 depositoraction.obj \
263 documentaction.obj \
[15773]264 dynamicclassifieraction.obj \
[15530]265 extlinkaction.obj \
266 formattools.obj \
267 gtiaction.obj \
268 highlighttext.obj \
269 historydb.obj \
270 hlistbrowserclass.obj \
271 htmlbrowserclass.obj \
272 htmlutils.obj \
273 invbrowserclass.obj \
274 librarymain.obj \
275 maincfg.obj \
[22188]276 $(OSPROCESS_OBJECTS) \
[15530]277 pageaction.obj \
278 pagedbrowserclass.obj \
[21324]279 $(MGPP_OBJECTS) \
[15530]280 phindbrowserclass.obj \
281 pingaction.obj \
282 queryaction.obj \
283 querytools.obj \
284 receptionist.obj \
285 statusaction.obj \
[22062]286 $(SQL_OBJECTS) \
[15530]287 summarise.obj \
288 tipaction.obj \
289 userdb.obj \
290 usersaction.obj \
291 vlistbrowserclass.obj \
292 wizardaction.obj
[743]293
[15569]294LIBRARY = gsdlrecpt.lib
295
[15530]296GSDL_LIBS = \
[15538]297 "$(PROTOCOL_DIR)\gsdlprotocol.lib" \
298 "$(COLSERVR_DIR)\gsdlcolservr.lib" \
[21324]299 $(MG_LIBS) \
300 $(MGPP_LIBS) \
[16574]301 "$(COMMON_DIR)\src\lib\gsdllib.lib"
[743]302
[15530]303EXECUTABLE_OBJECTS = \
304 $(OBJECTS) \
305 $(GSDL_LIBS)
[743]306
[18612]307EXECUTABLE = library.cgi
[743]308
309
[15569]310# Default target: make gsdlrecpt.lib if LOCAL_LIBRARY is set, otherwise both gsdlrecpt.lib and library.exe
[15542]311!IF $(LOCAL_LIBRARY)
312all: $(LIBRARY)
313!ELSE
[15569]314all: $(LIBRARY) $(EXECUTABLE)
[15542]315!ENDIF
316
[15580]317gsdlrecpt.lib: $(OBJECTS)
318 if EXIST $(LIBRARY) del $(LIBRARY)
319 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
[15542]320
[18612]321library.cgi: $(EXECUTABLE_OBJECTS)
[15530]322 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[743]323
[22188]324osprocess-test.cgi: $(OSPROCESS_OBJECTS) os_process_test.obj
325 $(LINK) $(OSPROCESS_OBJECTS) os_process_test.obj ..\..\..\common-src\src\lib\gsdllib.lib
326
[2338]327!IF $(LOCAL_LIBRARY)
[15569]328install:
[2338]329!ELSE
[15530]330install: $(EXECUTABLE)
[15580]331 copy $(EXECUTABLE) "$(GSDL_DIR)\cgi-bin"
[2338]332!ENDIF
[743]333
[15530]334clean:
335 del *.obj
[15580]336 del $(LIBRARY)
337 del $(EXECUTABLE)
[743]338
[10439]339
[15530]340# Always recompile configaction and statusaction in case GSDL_LOCAL_LIBRARY has changed
[2338]341statusaction.obj: FORCE
[4738]342configaction.obj: FORCE
[743]343
[9129]344FORCE:
Note: See TracBrowser for help on using the repository browser.