source: main/trunk/greenstone2/runtime-src/src/recpt/Makefile.in@ 22044

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

Modifying historydb.cpp so it uses the more general dbclass object instead of being hard-wired to use gdbmclass. However, this class is still set up to use gdbm, provided USE_GDBM is set (which it always is in the main Greenstone). The problem with the history database is it is Greenstone-specific, not collection-specific, so there is no infodbtype option to check to see what database type should be used (a new option will need to be created in the main.cfg file). If USE_GDBM isn't set, the historydb class will do nothing.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.3 KB
Line 
1###########################################################################
2#
3# Makefile -- runtime-src/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#
8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
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
27GSDL_DIR = ../../..
28COMMON_DIR = $(GSDL_DIR)/common-src
29RUNTIME_DIR = $(GSDL_DIR)/runtime-src
30
31GSDLOS = @gsdlos@
32
33INDEXERS_DIR = $(COMMON_DIR)/indexers
34COMMON_PACKAGES_DIR = $(COMMON_DIR)/packages
35RUNTIME_PACKAGES_DIR = $(RUNTIME_DIR)/packages
36COLSERVR_DIR = $(RUNTIME_DIR)/src/colservr
37PROTOCOL_DIR = $(RUNTIME_DIR)/src/protocol
38Z3950_DIR = $(RUNTIME_DIR)/src/z3950
39
40
41ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@
42ifeq ($(ENABLE_ACCENTFOLD), 1)
43ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a $(COMMON_PACKAGES_DIR)/iconv/lib/libiconv.a
44else
45ACCENTFOLD_LIBS =
46endif
47
48ENABLE_MG = @ENABLE_MG@
49ifeq ($(ENABLE_MG), 1)
50MG_INDEXERS_LIBS = $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
51 $(INDEXERS_DIR)/mg/lib/libmglib.a
52MG_INCLUDES = -I$(INDEXERS_DIR)/mg -I$(INDEXERS_DIR)/mg/lib
53else
54MG_INDEXERS_LIBS =
55MG_INCLUDES =
56endif
57
58ENABLE_MGPP = @ENABLE_MGPP@
59ifeq ($(ENABLE_MGPP), 1)
60MGPP_SOURCES = phindaction.cpp
61MGPP_OBJECTS = phindaction.o
62MGPP_INDEXERS_LIBS = $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
63 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
64MGPP_INCLUDES = -I$(INDEXERS_DIR)/mgpp/text -I$(INDEXERS_DIR)/mgpp/lib
65else
66MGPP_SOURCES =
67MGPP_OBJECTS =
68MGPP_INDEXERS_LIBS =
69MGPP_INCLUDES =
70endif
71
72USE_FASTCGI = @USE_FASTCGI@
73ifeq ($(USE_FASTCGI), 1)
74FASTCGI_DEFS = -DUSE_FASTCGI
75FASTCGI_INCLUDES = -I$(RUNTIME_PACKAGES_DIR)/fcgi/include
76FASTCGI_LIBS = $(RUNTIME_PACKAGES_DIR)/fcgi/libfcgi/libfcgi.a
77else
78FASTCGI_DEFS =
79FASTCGI_INCLUDES =
80FASTCGI_LIBS =
81endif
82
83# Currently not configurable, and always on
84USE_GDBM = 1
85ifeq ($(USE_GDBM), 1)
86GDBM_DEFINES = -DUSE_GDBM
87GDBM_INCLUDES = -I$(COMMON_PACKAGES_DIR)/gdbm/include
88else
89GDBM_DEFINES =
90GDBM_INCLUDES =
91endif
92
93USE_SQLITE = @USE_SQLITE@
94ifeq ($(USE_SQLITE), 1)
95SQLITE_LIBS = $(COMMON_PACKAGES_DIR)/sqlite/lib/libsqlite3.a -ldl -lpthread
96else
97SQLITE_LIBS =
98endif
99
100USE_Z3950 = @USE_Z3950@
101ifeq ($(USE_Z3950), 1)
102Z3950_DEFS = -DUSE_Z3950
103Z3950_INCLUDES = -I$(Z3950_DIR)
104Z3950_LIBS = $(Z3950_DIR)/gsdlz3950.a $(RUNTIME_PACKAGES_DIR)/yaz/lib/libyaz.a
105else
106Z3950_DEFS =
107Z3950_INCLUDES =
108Z3950_LIBS =
109endif
110
111USE_APACHE_HTTPD=@USE_APACHE_HTTPD@
112#ifeq ($(USE_APACHE_HTTPD), 1)
113ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
114APACHE_OBJS = string_pool.o mod_gsdl.o
115
116APACHE_INSTDIR=$(GSDL_DIR)/apache-httpd/$(GSDLOS)
117APACHE_SRCLIBDIR=../../packages/apache-httpd/httpd-2.2.11/srclib
118
119APXS_CFLAGS=-I$(APACHE_INSTDIR)/include \
120 -I$(APACHE_SRCLIBDIR)/apr/include -I$(APACHE_SRCLIBDIR)/apr-util/include
121
122APXS_LDFLAGS= -L$(APACHE_INSTDIR)/lib \
123 -L$(APACHE_SRCLIBDIR)/apr/include -L$(APACHE_SRCLIBDIR)/apr-util/include
124
125APACHE_MODULE = mod_gsdl.so
126else
127APACHE_OBJS =
128APACHE_MODULE =
129endif
130
131
132AR = ar
133CC = @CC@
134CFLAGS=@CFLAGS@ @COMPAT32BITFLAGS@
135CXX = @CXX@
136CXXFLAGS = @CXXFLAGS@ @COMPAT32BITFLAGS@
137DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(GDBM_DEFINES) $(Z3950_DEFS)
138INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib \
139 -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
140 $(MG_INCLUDES) $(MGPP_INCLUDES) \
141 -I$(COMMON_PACKAGES_DIR)/expat/include $(FASTCGI_INCLUDES) $(GDBM_INCLUDES) $(Z3950_INCLUDES)
142INSTALL = @INSTALL@
143LDFLAGS = @LDFLAGS@ @COMPAT32BITFLAGS@
144LIBS = @LIBS@ $(COMMON_PACKAGES_DIR)/gdbm/lib/libgdbm.a \
145 $(COMMON_PACKAGES_DIR)/expat/lib/libexpat.a \
146 $(ACCENTFOLD_LIBS) $(FASTCGI_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
147RANLIB = @RANLIB@
148
149
150CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
151CXXLINK = $(CXX) $(LDFLAGS) -o $@
152
153
154SOURCES = \
155 action.cpp \
156 argdb.cpp \
157 authenaction.cpp \
158 browseaction.cpp \
159 browseactiontools.cpp \
160 browserclass.cpp \
161 browsetoolsclass.cpp \
162 cgiargs.cpp \
163 cgiutils.cpp \
164 cgiwrapper.cpp \
165 collectoraction.cpp \
166 configaction.cpp \
167 converter.cpp \
168 datelistbrowserclass.cpp \
169 depositoraction.cpp \
170 documentaction.cpp \
171 dynamicclassifieraction.cpp \
172 extlinkaction.cpp \
173 formattools.cpp \
174 gtiaction.cpp \
175 highlighttext.cpp \
176 historydb.cpp \
177 hlistbrowserclass.cpp \
178 htmlbrowserclass.cpp \
179 htmlutils.cpp \
180 invbrowserclass.cpp \
181 librarymain.cpp \
182 maincfg.cpp \
183 pageaction.cpp \
184 pagedbrowserclass.cpp \
185 $(MGPP_SOURCES) \
186 phindbrowserclass.cpp \
187 pingaction.cpp \
188 queryaction.cpp \
189 querytools.cpp \
190 receptionist.cpp \
191 statusaction.cpp \
192 summarise.cpp \
193 tipaction.cpp \
194 userdb.cpp \
195 usersaction.cpp \
196 vlistbrowserclass.cpp \
197 wizardaction.cpp
198
199OBJECTS = \
200 action.o \
201 argdb.o \
202 authenaction.o \
203 browseaction.o \
204 browseactiontools.o \
205 browserclass.o \
206 browsetoolsclass.o \
207 cgiargs.o \
208 cgiutils.o \
209 cgiwrapper.o \
210 collectoraction.o \
211 configaction.o \
212 converter.o \
213 datelistbrowserclass.o \
214 depositoraction.o \
215 documentaction.o \
216 dynamicclassifieraction.o \
217 extlinkaction.o \
218 formattools.o \
219 gtiaction.o \
220 highlighttext.o \
221 historydb.o \
222 hlistbrowserclass.o \
223 htmlbrowserclass.o \
224 htmlutils.o \
225 invbrowserclass.o \
226 librarymain.o \
227 maincfg.o \
228 pageaction.o \
229 pagedbrowserclass.o \
230 $(MGPP_OBJECTS) \
231 phindbrowserclass.o \
232 pingaction.o \
233 queryaction.o \
234 querytools.o \
235 receptionist.o \
236 statusaction.o \
237 summarise.o \
238 tipaction.o \
239 userdb.o \
240 usersaction.o \
241 vlistbrowserclass.o \
242 wizardaction.o
243
244LIBRARY = gsdlrecpt.a
245
246GSDL_LIBS = \
247 $(PROTOCOL_DIR)/gsdlprotocol.a \
248 $(COLSERVR_DIR)/gsdlcolservr.a \
249 $(MG_INDEXERS_LIBS) \
250 $(MGPP_INDEXERS_LIBS) \
251 $(COMMON_DIR)/src/lib/gsdllib.a
252
253EXECUTABLE_OBJECTS = \
254 $(OBJECTS) \
255 $(GSDL_LIBS)
256
257EXECUTABLE = library.cgi
258
259
260# Default target: make both gsdlrecpt.a and the library executable
261all: $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE)
262
263gsdlrecpt.a: $(OBJECTS)
264 rm -f $(LIBRARY)
265 $(AR) cru $(LIBRARY) $(OBJECTS)
266 $(RANLIB) $(LIBRARY)
267
268$(EXECUTABLE): $(EXECUTABLE_OBJECTS) $(GSDL_LIBS)
269 $(CXXLINK) $(EXECUTABLE_OBJECTS) $(LIBS)
270
271mod_gsdl.o: mod_gsdl.cpp
272 $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES) -D_APACHE_MOD=2 -fPIC $(APXS_CFLAGS) -Wall -o $@ $<
273
274mod_gsdl.so: $(APACHE_OBJS) $(LIBRARY)
275 $(CXX) -fPIC -shared -o $@ $(APACHE_OBJS) $(LIBRARY) $(GSDL_LIBS) $(LIBS)
276
277
278.SUFFIXES:
279.SUFFIXES: .cpp .o
280.cpp.o:
281 $(CXXCOMPILE) $<
282
283
284install: $(EXECUTABLE)
285 $(INSTALL) -m 755 -s $(EXECUTABLE) $(GSDL_DIR)/cgi-bin
286#ifeq ($(USE_APACHE_HTTPD), 1)
287ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
288 $(GSDL_DIR)/apache-httpd/$(GSDLOS)/bin/apxs -i -n gsdl mod_gsdl.so
289endif
290
291clean:
292 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) $(APACHE_OBJS)
293
294distclean:
295 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) Makefile
296
297depend:
298 makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
Note: See TracBrowser for help on using the repository browser.