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

Last change on this file since 30878 was 30878, checked in by ak19, 8 years ago

Modifications to get GS2 compiling to work again on Macs after the recent ElCapitan changes around libiconv for a GS3 release.

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