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

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

Changes in z3950 and recpt Makefile to get dependencies right for libyaz (now these library dependencies are taken directly from yaz's Makefile with a GNU makefile specific shell command). These changes are ahead of committing a somewhat newer version of yaz itself (from 2007).

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 9.0 KB
RevLine 
[552]1###########################################################################
2#
[18224]3# Makefile -- runtime-src/src/recpt
[558]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#
[15478]8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
[552]9#
10#
[558]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#
[552]25###########################################################################
26
[16563]27GSDL_DIR = ../../..
[16572]28COMMON_DIR = $(GSDL_DIR)/common-src
29RUNTIME_DIR = $(GSDL_DIR)/runtime-src
[1937]30
[19259]31GSDLOS = @gsdlos@
[24901]32GSDLARCH = @gsdlarch@
[19259]33
[16563]34INDEXERS_DIR = $(COMMON_DIR)/indexers
[18025]35COMMON_PACKAGES_DIR = $(COMMON_DIR)/packages
[18226]36RUNTIME_PACKAGES_DIR = $(RUNTIME_DIR)/packages
[16563]37COLSERVR_DIR = $(RUNTIME_DIR)/src/colservr
38PROTOCOL_DIR = $(RUNTIME_DIR)/src/protocol
39Z3950_DIR = $(RUNTIME_DIR)/src/z3950
[13773]40
[16563]41
[12926]42ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@
43ifeq ($(ENABLE_ACCENTFOLD), 1)
[30878]44ifeq ($(GSDLOS),darwin)
45ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a -liconv
46else
[20849]47ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a $(COMMON_PACKAGES_DIR)/iconv/lib/libiconv.a
[30878]48endif
[12926]49else
[15478]50ACCENTFOLD_LIBS =
[12926]51endif
52
[21324]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
[568]77USE_FASTCGI = @USE_FASTCGI@
[15478]78ifeq ($(USE_FASTCGI), 1)
79FASTCGI_DEFS = -DUSE_FASTCGI
[18226]80FASTCGI_INCLUDES = -I$(RUNTIME_PACKAGES_DIR)/fcgi/include
81FASTCGI_LIBS = $(RUNTIME_PACKAGES_DIR)/fcgi/libfcgi/libfcgi.a
[15478]82else
83FASTCGI_DEFS =
84FASTCGI_INCLUDES =
85FASTCGI_LIBS =
[556]86endif
[15452]87
[22058]88USE_GDBM = @USE_GDBM@
[21485]89ifeq ($(USE_GDBM), 1)
90GDBM_DEFINES = -DUSE_GDBM
91GDBM_INCLUDES = -I$(COMMON_PACKAGES_DIR)/gdbm/include
[22078]92GDBM_LIBS = $(COMMON_PACKAGES_DIR)/gdbm/lib/libgdbm.a
[21485]93else
94GDBM_DEFINES =
95GDBM_INCLUDES =
[22078]96GDBM_LIBS =
[21485]97endif
98
[22058]99USE_JDBM = @USE_JDBM@
100ifeq ($(USE_JDBM), 1)
101JDBM_DEFINES = -DUSE_JDBM
102else
103JDBM_DEFINES =
104endif
105
[15599]106USE_SQLITE = @USE_SQLITE@
107ifeq ($(USE_SQLITE), 1)
[22046]108SQLITE_DEFINES = -DUSE_SQLITE
[18024]109SQLITE_LIBS = $(COMMON_PACKAGES_DIR)/sqlite/lib/libsqlite3.a -ldl -lpthread
[22058]110SQL_SOURCES = sqlqueryaction.cpp
111SQL_OBJECTS = sqlqueryaction.o
[15599]112else
[22046]113SQLITE_DEFINES =
[15599]114SQLITE_LIBS =
[22046]115SQL_SOURCES =
116SQL_OBJECTS =
117endif
118
[24958]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
[22046]129
[24958]130
[15494]131USE_Z3950 = @USE_Z3950@
132ifeq ($(USE_Z3950), 1)
133Z3950_DEFS = -DUSE_Z3950
134Z3950_INCLUDES = -I$(Z3950_DIR)
[30948]135# Use GNU specific shell command to capture output.
136# Need LIBS to contain all the dependencies for libyaz that yaz had worked out (from yaz's Makefile)
137# http://stackoverflow.com/questions/2019989/how-to-assign-the-output-of-a-command-to-a-makefile-variable
138YAZ_LIBS = $(shell egrep "^LIBS\s?=" $(RUNTIME_PACKAGES_DIR)/yaz/yaz-2.1.4/Makefile | sed 's/^LIBS\s\?=\s\?//')
139Z3950_LIBS = $(Z3950_DIR)/gsdlz3950.a $(RUNTIME_PACKAGES_DIR)/yaz/lib/libyaz.a $(YAZ_LIBS)
[15494]140else
141Z3950_DEFS =
142Z3950_INCLUDES =
143Z3950_LIBS =
144endif
[8033]145
[19259]146USE_APACHE_HTTPD=@USE_APACHE_HTTPD@
[19358]147#ifeq ($(USE_APACHE_HTTPD), 1)
148ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
[19259]149APACHE_OBJS = string_pool.o mod_gsdl.o
[15494]150
[19292]151APACHE_INSTDIR=$(GSDL_DIR)/apache-httpd/$(GSDLOS)
152APACHE_SRCLIBDIR=../../packages/apache-httpd/httpd-2.2.11/srclib
153
154APXS_CFLAGS=-I$(APACHE_INSTDIR)/include \
155 -I$(APACHE_SRCLIBDIR)/apr/include -I$(APACHE_SRCLIBDIR)/apr-util/include
156
157APXS_LDFLAGS= -L$(APACHE_INSTDIR)/lib \
158 -L$(APACHE_SRCLIBDIR)/apr/include -L$(APACHE_SRCLIBDIR)/apr-util/include
159
[19259]160APACHE_MODULE = mod_gsdl.so
161else
162APACHE_OBJS =
[19292]163APACHE_MODULE =
[19259]164endif
165
[28888]166
[25236]167# Extension support
[25238]168EXT_DEFINES =
[25236]169EXT_INCLUDES =
[25238]170EXT_LDFLAGS =
171EXT_LIBS =
[19259]172
[25236]173
174
[15577]175AR = ar
[15551]176CC = @CC@
[25149]177CFLAGS=@CFLAGS@ @ARCH_DEP_FLAGS@
[15551]178CXX = @CXX@
[25149]179CXXFLAGS = @CXXFLAGS@ @ARCH_DEP_FLAGS@
[25236]180DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(RSS_DEFINES) $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(Z3950_DEFS) $(EXT_DEFINES)
[21485]181INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib \
[15555]182 -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
[21324]183 $(MG_INCLUDES) $(MGPP_INCLUDES) \
[25236]184 -I$(COMMON_PACKAGES_DIR)/expat/include $(FASTCGI_INCLUDES) $(GDBM_INCLUDES) $(Z3950_INCLUDES) $(EXT_INCLUDES)
[15478]185INSTALL = @INSTALL@
[25236]186LDFLAGS = @LDFLAGS@ @ARCH_DEP_FLAGS@ $(EXT_LDFLAGS)
[22078]187LIBS = @LIBS@ $(GDBM_LIBS) \
[20841]188 $(COMMON_PACKAGES_DIR)/expat/lib/libexpat.a \
[25236]189 $(ACCENTFOLD_LIBS) $(FASTCGI_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS) $(EXT_LIBS)
[15577]190RANLIB = @RANLIB@
[552]191
[15478]192
[15551]193CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
194CXXLINK = $(CXX) $(LDFLAGS) -o $@
[552]195
[1860]196
[15478]197SOURCES = \
198 action.cpp \
199 argdb.cpp \
200 authenaction.cpp \
201 browseaction.cpp \
202 browseactiontools.cpp \
203 browserclass.cpp \
204 browsetoolsclass.cpp \
205 cgiargs.cpp \
206 cgiutils.cpp \
207 cgiwrapper.cpp \
208 collectoraction.cpp \
[19259]209 configaction.cpp \
[15478]210 converter.cpp \
211 datelistbrowserclass.cpp \
212 depositoraction.cpp \
213 documentaction.cpp \
[15744]214 dynamicclassifieraction.cpp \
[15478]215 extlinkaction.cpp \
216 formattools.cpp \
[28760]217 formatconverter.cpp \
[15478]218 gtiaction.cpp \
219 highlighttext.cpp \
220 historydb.cpp \
221 hlistbrowserclass.cpp \
222 htmlbrowserclass.cpp \
223 htmlutils.cpp \
224 invbrowserclass.cpp \
225 librarymain.cpp \
226 maincfg.cpp \
227 pageaction.cpp \
228 pagedbrowserclass.cpp \
[21324]229 $(MGPP_SOURCES) \
[15478]230 phindbrowserclass.cpp \
231 pingaction.cpp \
[25560]232 ispersistentaction.cpp \
[22046]233 basequeryaction.cpp \
[15478]234 queryaction.cpp \
[22046]235 $(SQL_SOURCES) \
[15478]236 querytools.cpp \
237 receptionist.cpp \
[24958]238 $(RSS_SOURCES) \
[15478]239 statusaction.cpp \
[28888]240 securitytools.cpp \
[15478]241 summarise.cpp \
242 tipaction.cpp \
243 userdb.cpp \
244 usersaction.cpp \
245 vlistbrowserclass.cpp \
246 wizardaction.cpp
[552]247
[15478]248OBJECTS = \
249 action.o \
250 argdb.o \
251 authenaction.o \
252 browseaction.o \
253 browseactiontools.o \
254 browserclass.o \
255 browsetoolsclass.o \
256 cgiargs.o \
257 cgiutils.o \
258 cgiwrapper.o \
259 collectoraction.o \
[19259]260 configaction.o \
[15478]261 converter.o \
262 datelistbrowserclass.o \
263 depositoraction.o \
264 documentaction.o \
[15744]265 dynamicclassifieraction.o \
[15478]266 extlinkaction.o \
267 formattools.o \
268 gtiaction.o \
269 highlighttext.o \
270 historydb.o \
271 hlistbrowserclass.o \
272 htmlbrowserclass.o \
273 htmlutils.o \
274 invbrowserclass.o \
275 librarymain.o \
276 maincfg.o \
277 pageaction.o \
278 pagedbrowserclass.o \
[21324]279 $(MGPP_OBJECTS) \
[15478]280 phindbrowserclass.o \
281 pingaction.o \
[25560]282 ispersistentaction.o \
[22046]283 basequeryaction.o \
[15478]284 queryaction.o \
[22046]285 $(SQL_OBJECTS) \
[15478]286 querytools.o \
287 receptionist.o \
[24958]288 $(RSS_OBJECTS) \
[15478]289 statusaction.o \
[28888]290 securitytools.o \
[15478]291 summarise.o \
292 tipaction.o \
293 userdb.o \
294 usersaction.o \
295 vlistbrowserclass.o \
[19259]296 wizardaction.o
[552]297
[28760]298CONVERTER_OBJECTS = \
299 cgiargs.o \
300 cgiutils.o \
301 formattools.o \
302 formatconverter.o \
303 summarise.o
304
[15577]305LIBRARY = gsdlrecpt.a
306
[15478]307GSDL_LIBS = \
[15489]308 $(PROTOCOL_DIR)/gsdlprotocol.a \
[15480]309 $(COLSERVR_DIR)/gsdlcolservr.a \
[21324]310 $(MG_INDEXERS_LIBS) \
311 $(MGPP_INDEXERS_LIBS) \
[16563]312 $(COMMON_DIR)/src/lib/gsdllib.a
[552]313
[15480]314EXECUTABLE_OBJECTS = \
[15478]315 $(OBJECTS) \
316 $(GSDL_LIBS)
[552]317
[18612]318EXECUTABLE = library.cgi
[552]319
[722]320
[15579]321# Default target: make both gsdlrecpt.a and the library executable
[28760]322all: $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) formatconverter
[15579]323
[28760]324formatconverter: $(CONVERTER_OBJECTS)
325 $(CXXLINK) $(CONVERTER_OBJECTS) $(COMMON_DIR)/src/lib/gsdllib.a $(PROTOCOL_DIR)/gsdlprotocol.a $(COLSERVR_DIR)/gsdlcolservr.a
326
[15577]327gsdlrecpt.a: $(OBJECTS)
[15579]328 rm -f $(LIBRARY)
329 $(AR) cru $(LIBRARY) $(OBJECTS)
330 $(RANLIB) $(LIBRARY)
[15577]331
[18612]332$(EXECUTABLE): $(EXECUTABLE_OBJECTS) $(GSDL_LIBS)
[15551]333 $(CXXLINK) $(EXECUTABLE_OBJECTS) $(LIBS)
[552]334
[19259]335mod_gsdl.o: mod_gsdl.cpp
[19292]336 $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES) -D_APACHE_MOD=2 -fPIC $(APXS_CFLAGS) -Wall -o $@ $<
[19259]337
338mod_gsdl.so: $(APACHE_OBJS) $(LIBRARY)
[19292]339 $(CXX) -fPIC -shared -o $@ $(APACHE_OBJS) $(LIBRARY) $(GSDL_LIBS) $(LIBS)
[19259]340
341
342.SUFFIXES:
343.SUFFIXES: .cpp .o
344.cpp.o:
345 $(CXXCOMPILE) $<
346
347
[15480]348install: $(EXECUTABLE)
[24901]349 $(INSTALL) -m 755 -s $(EXECUTABLE) $(GSDL_DIR)/cgi-bin/$(GSDLOS)$(GSDLARCH)
[19387]350#ifeq ($(USE_APACHE_HTTPD), 1)
351ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW")
[19259]352 $(GSDL_DIR)/apache-httpd/$(GSDLOS)/bin/apxs -i -n gsdl mod_gsdl.so
[19261]353endif
[29046]354 if test -e formatconverter; then \
355 cp formatconverter $(GSDL_DIR)/bin/$(GSDLOS)/.; \
356 fi;
[1937]357
[15478]358clean:
[19259]359 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) $(APACHE_OBJS)
[552]360
[992]361distclean:
[15579]362 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) Makefile
[992]363
[552]364depend:
[15551]365 makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
Note: See TracBrowser for help on using the repository browser.