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

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

Changes necessary to support new sql-query action

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.6 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_DEFINES = -DUSE_SQLITE
96SQLITE_LIBS = $(COMMON_PACKAGES_DIR)/sqlite/lib/libsqlite3.a -ldl -lpthread
97else
98SQLITE_DEFINES =
99SQLITE_LIBS =
100endif
101
102ifeq ($(USE_SQLITE), 1)
103SQL_SOURCES = sqlqueryaction.cpp
104SQL_OBJECTS = sqlqueryaction.o
105else
106SQL_SOURCES =
107SQL_OBJECTS =
108endif
109
110
111USE_Z3950 = @USE_Z3950@
112ifeq ($(USE_Z3950), 1)
113Z3950_DEFS = -DUSE_Z3950
114Z3950_INCLUDES = -I$(Z3950_DIR)
115Z3950_LIBS = $(Z3950_DIR)/gsdlz3950.a $(RUNTIME_PACKAGES_DIR)/yaz/lib/libyaz.a
116else
117Z3950_DEFS =
118Z3950_INCLUDES =
119Z3950_LIBS =
120endif
121
122USE_APACHE_HTTPD=@USE_APACHE_HTTPD@
123#ifeq ($(USE_APACHE_HTTPD), 1)
124ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
125APACHE_OBJS = string_pool.o mod_gsdl.o
126
127APACHE_INSTDIR=$(GSDL_DIR)/apache-httpd/$(GSDLOS)
128APACHE_SRCLIBDIR=../../packages/apache-httpd/httpd-2.2.11/srclib
129
130APXS_CFLAGS=-I$(APACHE_INSTDIR)/include \
131 -I$(APACHE_SRCLIBDIR)/apr/include -I$(APACHE_SRCLIBDIR)/apr-util/include
132
133APXS_LDFLAGS= -L$(APACHE_INSTDIR)/lib \
134 -L$(APACHE_SRCLIBDIR)/apr/include -L$(APACHE_SRCLIBDIR)/apr-util/include
135
136APACHE_MODULE = mod_gsdl.so
137else
138APACHE_OBJS =
139APACHE_MODULE =
140endif
141
142
143AR = ar
144CC = @CC@
145CFLAGS=@CFLAGS@ @COMPAT32BITFLAGS@
146CXX = @CXX@
147CXXFLAGS = @CXXFLAGS@ @COMPAT32BITFLAGS@
148DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(GDBM_DEFINES) $(SQLITE_DEFINES) $(Z3950_DEFS)
149INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib \
150 -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
151 $(MG_INCLUDES) $(MGPP_INCLUDES) \
152 -I$(COMMON_PACKAGES_DIR)/expat/include $(FASTCGI_INCLUDES) $(GDBM_INCLUDES) $(Z3950_INCLUDES)
153INSTALL = @INSTALL@
154LDFLAGS = @LDFLAGS@ @COMPAT32BITFLAGS@
155LIBS = @LIBS@ $(COMMON_PACKAGES_DIR)/gdbm/lib/libgdbm.a \
156 $(COMMON_PACKAGES_DIR)/expat/lib/libexpat.a \
157 $(ACCENTFOLD_LIBS) $(FASTCGI_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS)
158RANLIB = @RANLIB@
159
160
161CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
162CXXLINK = $(CXX) $(LDFLAGS) -o $@
163
164
165SOURCES = \
166 action.cpp \
167 argdb.cpp \
168 authenaction.cpp \
169 browseaction.cpp \
170 browseactiontools.cpp \
171 browserclass.cpp \
172 browsetoolsclass.cpp \
173 cgiargs.cpp \
174 cgiutils.cpp \
175 cgiwrapper.cpp \
176 collectoraction.cpp \
177 configaction.cpp \
178 converter.cpp \
179 datelistbrowserclass.cpp \
180 depositoraction.cpp \
181 documentaction.cpp \
182 dynamicclassifieraction.cpp \
183 extlinkaction.cpp \
184 formattools.cpp \
185 gtiaction.cpp \
186 highlighttext.cpp \
187 historydb.cpp \
188 hlistbrowserclass.cpp \
189 htmlbrowserclass.cpp \
190 htmlutils.cpp \
191 invbrowserclass.cpp \
192 librarymain.cpp \
193 maincfg.cpp \
194 pageaction.cpp \
195 pagedbrowserclass.cpp \
196 $(MGPP_SOURCES) \
197 phindbrowserclass.cpp \
198 pingaction.cpp \
199 basequeryaction.cpp \
200 queryaction.cpp \
201 $(SQL_SOURCES) \
202 querytools.cpp \
203 receptionist.cpp \
204 statusaction.cpp \
205 summarise.cpp \
206 tipaction.cpp \
207 userdb.cpp \
208 usersaction.cpp \
209 vlistbrowserclass.cpp \
210 wizardaction.cpp
211
212OBJECTS = \
213 action.o \
214 argdb.o \
215 authenaction.o \
216 browseaction.o \
217 browseactiontools.o \
218 browserclass.o \
219 browsetoolsclass.o \
220 cgiargs.o \
221 cgiutils.o \
222 cgiwrapper.o \
223 collectoraction.o \
224 configaction.o \
225 converter.o \
226 datelistbrowserclass.o \
227 depositoraction.o \
228 documentaction.o \
229 dynamicclassifieraction.o \
230 extlinkaction.o \
231 formattools.o \
232 gtiaction.o \
233 highlighttext.o \
234 historydb.o \
235 hlistbrowserclass.o \
236 htmlbrowserclass.o \
237 htmlutils.o \
238 invbrowserclass.o \
239 librarymain.o \
240 maincfg.o \
241 pageaction.o \
242 pagedbrowserclass.o \
243 $(MGPP_OBJECTS) \
244 phindbrowserclass.o \
245 pingaction.o \
246 basequeryaction.o \
247 queryaction.o \
248 $(SQL_OBJECTS) \
249 querytools.o \
250 receptionist.o \
251 statusaction.o \
252 summarise.o \
253 tipaction.o \
254 userdb.o \
255 usersaction.o \
256 vlistbrowserclass.o \
257 wizardaction.o
258
259LIBRARY = gsdlrecpt.a
260
261GSDL_LIBS = \
262 $(PROTOCOL_DIR)/gsdlprotocol.a \
263 $(COLSERVR_DIR)/gsdlcolservr.a \
264 $(MG_INDEXERS_LIBS) \
265 $(MGPP_INDEXERS_LIBS) \
266 $(COMMON_DIR)/src/lib/gsdllib.a
267
268EXECUTABLE_OBJECTS = \
269 $(OBJECTS) \
270 $(GSDL_LIBS)
271
272EXECUTABLE = library.cgi
273
274
275# Default target: make both gsdlrecpt.a and the library executable
276all: $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE)
277
278gsdlrecpt.a: $(OBJECTS)
279 rm -f $(LIBRARY)
280 $(AR) cru $(LIBRARY) $(OBJECTS)
281 $(RANLIB) $(LIBRARY)
282
283$(EXECUTABLE): $(EXECUTABLE_OBJECTS) $(GSDL_LIBS)
284 $(CXXLINK) $(EXECUTABLE_OBJECTS) $(LIBS)
285
286mod_gsdl.o: mod_gsdl.cpp
287 $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES) -D_APACHE_MOD=2 -fPIC $(APXS_CFLAGS) -Wall -o $@ $<
288
289mod_gsdl.so: $(APACHE_OBJS) $(LIBRARY)
290 $(CXX) -fPIC -shared -o $@ $(APACHE_OBJS) $(LIBRARY) $(GSDL_LIBS) $(LIBS)
291
292
293.SUFFIXES:
294.SUFFIXES: .cpp .o
295.cpp.o:
296 $(CXXCOMPILE) $<
297
298
299install: $(EXECUTABLE)
300 $(INSTALL) -m 755 -s $(EXECUTABLE) $(GSDL_DIR)/cgi-bin
301#ifeq ($(USE_APACHE_HTTPD), 1)
302ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
303 $(GSDL_DIR)/apache-httpd/$(GSDLOS)/bin/apxs -i -n gsdl mod_gsdl.so
304endif
305
306clean:
307 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) $(APACHE_OBJS)
308
309distclean:
310 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) Makefile
311
312depend:
313 makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
Note: See TracBrowser for help on using the repository browser.