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

Last change on this file since 22766 was 22766, checked in by mdewsnip, 14 years ago

Instead of having two copies of expat in Greenstone (one for Linux and one for Windows), added Windows makefiles into the version in common-src/packages/expat. This means we can remove the Windows-only version in common-src/packages/windows/expat, and also means that expat now works the same as SQLite.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.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
[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) \
[22766]164 -I"$(COMMON_PACKAGES_DIR)\windows\crypt\crypt" -I"$(COMMON_PACKAGES_DIR)\expat\include" \
[21485]165 $(GDBM_INCLUDES) \
[18077]166 $(Z3950_INCLUDES)
[15568]167LDFLAGS =
[22766]168LIBS = "$(COMMON_PACKAGES_DIR)\windows\crypt\crypt\crypt.lib" "$(COMMON_PACKAGES_DIR)\expat\lib\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.