source: main/trunk/greenstone2/runtime-src/packages/security/gs-code-changes/Makefile.in@ 28886

Last change on this file since 28886 was 28886, checked in by ak19, 10 years ago

Additions to the OWASP-for-C++ security package, even though we are no longer using this now. Adding Dr Bainbridge's new files esapitools.cpp and .h, in case we use this in future, along with its Makefile.in. Adding configure files to enable/disable the security package. (The Makefile in runtime-src/packages is not yet complete.)

  • Property svn:executable set to *
File size: 9.2 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@
32GSDLARCH = @gsdlarch@
33
34INDEXERS_DIR = $(COMMON_DIR)/indexers
35COMMON_PACKAGES_DIR = $(COMMON_DIR)/packages
36RUNTIME_PACKAGES_DIR = $(RUNTIME_DIR)/packages
37COLSERVR_DIR = $(RUNTIME_DIR)/src/colservr
38PROTOCOL_DIR = $(RUNTIME_DIR)/src/protocol
39Z3950_DIR = $(RUNTIME_DIR)/src/z3950
40
41
42ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@
43ifeq ($(ENABLE_ACCENTFOLD), 1)
44ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a $(COMMON_PACKAGES_DIR)/iconv/lib/libiconv.a
45else
46ACCENTFOLD_LIBS =
47endif
48
49ENABLE_MG = @ENABLE_MG@
50ifeq ($(ENABLE_MG), 1)
51MG_INDEXERS_LIBS = $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
52 $(INDEXERS_DIR)/mg/lib/libmglib.a
53MG_INCLUDES = -I$(INDEXERS_DIR)/mg -I$(INDEXERS_DIR)/mg/lib
54else
55MG_INDEXERS_LIBS =
56MG_INCLUDES =
57endif
58
59ENABLE_MGPP = @ENABLE_MGPP@
60ifeq ($(ENABLE_MGPP), 1)
61MGPP_SOURCES = phindaction.cpp
62MGPP_OBJECTS = phindaction.o
63MGPP_INDEXERS_LIBS = $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
64 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
65MGPP_INCLUDES = -I$(INDEXERS_DIR)/mgpp/text -I$(INDEXERS_DIR)/mgpp/lib
66else
67MGPP_SOURCES =
68MGPP_OBJECTS =
69MGPP_INDEXERS_LIBS =
70MGPP_INCLUDES =
71endif
72
73USE_FASTCGI = @USE_FASTCGI@
74ifeq ($(USE_FASTCGI), 1)
75FASTCGI_DEFS = -DUSE_FASTCGI
76FASTCGI_INCLUDES = -I$(RUNTIME_PACKAGES_DIR)/fcgi/include
77FASTCGI_LIBS = $(RUNTIME_PACKAGES_DIR)/fcgi/libfcgi/libfcgi.a
78else
79FASTCGI_DEFS =
80FASTCGI_INCLUDES =
81FASTCGI_LIBS =
82endif
83
84USE_GDBM = @USE_GDBM@
85ifeq ($(USE_GDBM), 1)
86GDBM_DEFINES = -DUSE_GDBM
87GDBM_INCLUDES = -I$(COMMON_PACKAGES_DIR)/gdbm/include
88GDBM_LIBS = $(COMMON_PACKAGES_DIR)/gdbm/lib/libgdbm.a
89else
90GDBM_DEFINES =
91GDBM_INCLUDES =
92GDBM_LIBS =
93endif
94
95USE_JDBM = @USE_JDBM@
96ifeq ($(USE_JDBM), 1)
97JDBM_DEFINES = -DUSE_JDBM
98else
99JDBM_DEFINES =
100endif
101
102USE_SQLITE = @USE_SQLITE@
103ifeq ($(USE_SQLITE), 1)
104SQLITE_DEFINES = -DUSE_SQLITE
105SQLITE_LIBS = $(COMMON_PACKAGES_DIR)/sqlite/lib/libsqlite3.a -ldl -lpthread
106SQL_SOURCES = sqlqueryaction.cpp
107SQL_OBJECTS = sqlqueryaction.o
108else
109SQLITE_DEFINES =
110SQLITE_LIBS =
111SQL_SOURCES =
112SQL_OBJECTS =
113endif
114
115USE_RSS = @USE_RSS@
116ifeq ($(USE_RSS), 1)
117RSS_DEFINES = -DUSE_RSS
118RSS_SOURCES = rssaction.cpp
119RSS_OBJECTS = rssaction.o
120else
121RSS_DEFINES =
122RSS_SOURCES =
123RSS_OBJECTS =
124endif
125
126
127USE_Z3950 = @USE_Z3950@
128ifeq ($(USE_Z3950), 1)
129Z3950_DEFS = -DUSE_Z3950
130Z3950_INCLUDES = -I$(Z3950_DIR)
131Z3950_LIBS = $(Z3950_DIR)/gsdlz3950.a $(RUNTIME_PACKAGES_DIR)/yaz/lib/libyaz.a
132else
133Z3950_DEFS =
134Z3950_INCLUDES =
135Z3950_LIBS =
136endif
137
138USE_APACHE_HTTPD=@USE_APACHE_HTTPD@
139#ifeq ($(USE_APACHE_HTTPD), 1)
140ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
141APACHE_OBJS = string_pool.o mod_gsdl.o
142
143APACHE_INSTDIR=$(GSDL_DIR)/apache-httpd/$(GSDLOS)
144APACHE_SRCLIBDIR=../../packages/apache-httpd/httpd-2.2.11/srclib
145
146APXS_CFLAGS=-I$(APACHE_INSTDIR)/include \
147 -I$(APACHE_SRCLIBDIR)/apr/include -I$(APACHE_SRCLIBDIR)/apr-util/include
148
149APXS_LDFLAGS= -L$(APACHE_INSTDIR)/lib \
150 -L$(APACHE_SRCLIBDIR)/apr/include -L$(APACHE_SRCLIBDIR)/apr-util/include
151
152APACHE_MODULE = mod_gsdl.so
153else
154APACHE_OBJS =
155APACHE_MODULE =
156endif
157
158# security is on by default
159# need to add special flag for compilation, that turns on experimental features: -std=gnu++0x
160USE_SECURITY = @USE_SECURITY@
161ifeq ($(USE_SECURITY), 1)
162SECURITY_INSTALLED = $(RUNTIME_PACKAGES_DIR)/security/installed
163SECURITY_INCLUDES = -I$(SECURITY_INSTALLED)/include -I$(SECURITY_INSTALLED)/include/esapi
164SECURITY_LIBS = -L $(SECURITY_INSTALLED)/lib -lesapi-c++ -lcryptopp
165SECURITY_DEFINES = -DUSE_SECURITY
166SECURITY_SOURCES = esapitools.cpp
167SECURITY_OBJECTS = esapitools.o
168SECURITY_CXXFLAGS = -std=gnu++0x
169else
170SECURITY_INSTALLED =
171SECURITY_INCLUDES =
172SECURITY_LIBS =
173SECURITY_DEFINES =
174SECURITY_SOURCES =
175SECURITY_OBJECTS =
176SECURITY_CXXFLAGS =
177endif
178
179
180# Extension support
181EXT_DEFINES =
182EXT_INCLUDES =
183EXT_LDFLAGS =
184EXT_LIBS =
185
186
187
188AR = ar
189CC = @CC@
190CFLAGS=@CFLAGS@ @ARCH_DEP_FLAGS@
191CXX = @CXX@
192CXXFLAGS = @CXXFLAGS@ $(SECURITY_CXXFLAGS) @ARCH_DEP_FLAGS@
193DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(RSS_DEFINES) $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(Z3950_DEFS) $(EXT_DEFINES)
194INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib \
195 -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
196 $(MG_INCLUDES) $(MGPP_INCLUDES) \
197 $(SECURITY_INCLUDES) \
198 -I$(COMMON_PACKAGES_DIR)/expat/include $(FASTCGI_INCLUDES) $(GDBM_INCLUDES) $(Z3950_INCLUDES) $(EXT_INCLUDES)
199INSTALL = @INSTALL@
200LDFLAGS = @LDFLAGS@ @ARCH_DEP_FLAGS@ $(EXT_LDFLAGS)
201LIBS = @LIBS@ $(GDBM_LIBS) \
202 $(COMMON_PACKAGES_DIR)/expat/lib/libexpat.a \
203 $(SECURITY_LIBS) \
204 $(ACCENTFOLD_LIBS) $(FASTCGI_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS) $(EXT_LIBS)
205RANLIB = @RANLIB@
206
207
208CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
209CXXLINK = $(CXX) $(LDFLAGS) -o $@
210
211
212SOURCES = \
213 action.cpp \
214 argdb.cpp \
215 authenaction.cpp \
216 browseaction.cpp \
217 browseactiontools.cpp \
218 browserclass.cpp \
219 browsetoolsclass.cpp \
220 cgiargs.cpp \
221 cgiutils.cpp \
222 cgiwrapper.cpp \
223 collectoraction.cpp \
224 configaction.cpp \
225 converter.cpp \
226 datelistbrowserclass.cpp \
227 depositoraction.cpp \
228 documentaction.cpp \
229 dynamicclassifieraction.cpp \
230 extlinkaction.cpp \
231 formattools.cpp \
232 formatconverter.cpp \
233 gtiaction.cpp \
234 highlighttext.cpp \
235 historydb.cpp \
236 hlistbrowserclass.cpp \
237 htmlbrowserclass.cpp \
238 htmlutils.cpp \
239 invbrowserclass.cpp \
240 librarymain.cpp \
241 maincfg.cpp \
242 pageaction.cpp \
243 pagedbrowserclass.cpp \
244 $(MGPP_SOURCES) \
245 phindbrowserclass.cpp \
246 pingaction.cpp \
247 ispersistentaction.cpp \
248 basequeryaction.cpp \
249 queryaction.cpp \
250 $(SECURITY_SOURCES) \
251 $(SQL_SOURCES) \
252 querytools.cpp \
253 receptionist.cpp \
254 $(RSS_SOURCES) \
255 statusaction.cpp \
256 securitytools.cpp \
257 summarise.cpp \
258 tipaction.cpp \
259 userdb.cpp \
260 usersaction.cpp \
261 vlistbrowserclass.cpp \
262 wizardaction.cpp
263
264OBJECTS = \
265 action.o \
266 argdb.o \
267 authenaction.o \
268 browseaction.o \
269 browseactiontools.o \
270 browserclass.o \
271 browsetoolsclass.o \
272 cgiargs.o \
273 cgiutils.o \
274 cgiwrapper.o \
275 collectoraction.o \
276 configaction.o \
277 converter.o \
278 datelistbrowserclass.o \
279 depositoraction.o \
280 documentaction.o \
281 dynamicclassifieraction.o \
282 extlinkaction.o \
283 formattools.o \
284 gtiaction.o \
285 highlighttext.o \
286 historydb.o \
287 hlistbrowserclass.o \
288 htmlbrowserclass.o \
289 htmlutils.o \
290 invbrowserclass.o \
291 librarymain.o \
292 maincfg.o \
293 pageaction.o \
294 pagedbrowserclass.o \
295 $(MGPP_OBJECTS) \
296 phindbrowserclass.o \
297 pingaction.o \
298 ispersistentaction.o \
299 basequeryaction.o \
300 queryaction.o \
301 $(SECURITY_OBJECTS) \
302 $(SQL_OBJECTS) \
303 querytools.o \
304 receptionist.o \
305 $(RSS_OBJECTS) \
306 statusaction.o \
307 securitytools.o \
308 summarise.o \
309 tipaction.o \
310 userdb.o \
311 usersaction.o \
312 vlistbrowserclass.o \
313 wizardaction.o
314
315CONVERTER_OBJECTS = \
316 cgiargs.o \
317 cgiutils.o \
318 formattools.o \
319 formatconverter.o \
320 summarise.o
321
322LIBRARY = gsdlrecpt.a
323
324GSDL_LIBS = \
325 $(PROTOCOL_DIR)/gsdlprotocol.a \
326 $(COLSERVR_DIR)/gsdlcolservr.a \
327 $(MG_INDEXERS_LIBS) \
328 $(MGPP_INDEXERS_LIBS) \
329 $(COMMON_DIR)/src/lib/gsdllib.a
330
331EXECUTABLE_OBJECTS = \
332 $(OBJECTS) \
333 $(GSDL_LIBS)
334
335EXECUTABLE = library.cgi
336
337
338# Default target: make both gsdlrecpt.a and the library executable
339all: $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) formatconverter
340
341formatconverter: $(CONVERTER_OBJECTS)
342 $(CXXLINK) $(CONVERTER_OBJECTS) $(COMMON_DIR)/src/lib/gsdllib.a $(PROTOCOL_DIR)/gsdlprotocol.a $(COLSERVR_DIR)/gsdlcolservr.a
343
344gsdlrecpt.a: $(OBJECTS)
345 rm -f $(LIBRARY)
346 $(AR) cru $(LIBRARY) $(OBJECTS)
347 $(RANLIB) $(LIBRARY)
348
349$(EXECUTABLE): $(EXECUTABLE_OBJECTS) $(GSDL_LIBS)
350 $(CXXLINK) $(EXECUTABLE_OBJECTS) $(LIBS)
351
352mod_gsdl.o: mod_gsdl.cpp
353 $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES) -D_APACHE_MOD=2 -fPIC $(APXS_CFLAGS) -Wall -o $@ $<
354
355mod_gsdl.so: $(APACHE_OBJS) $(LIBRARY)
356 $(CXX) -fPIC -shared -o $@ $(APACHE_OBJS) $(LIBRARY) $(GSDL_LIBS) $(LIBS)
357
358
359.SUFFIXES:
360.SUFFIXES: .cpp .o
361.cpp.o:
362 $(CXXCOMPILE) $<
363
364
365install: $(EXECUTABLE)
366 $(INSTALL) -m 755 -s $(EXECUTABLE) $(GSDL_DIR)/cgi-bin/$(GSDLOS)$(GSDLARCH)
367#ifeq ($(USE_APACHE_HTTPD), 1)
368ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
369 $(GSDL_DIR)/apache-httpd/$(GSDLOS)/bin/apxs -i -n gsdl mod_gsdl.so
370endif
371
372clean:
373 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) $(APACHE_OBJS)
374
375distclean:
376 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) Makefile
377
378depend:
379 makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
Note: See TracBrowser for help on using the repository browser.