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

Last change on this file since 21324 was 21324, checked in by ak19, 14 years ago

Changes to makefiles, configure files, and source code to work with the new configure flags that allow indexers to be individually compiled up by setting each indexer to be enabled or disabled (enable-mg, enable-mgpp, enable-lucene)

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