########################################################################### # # Makefile -- runtime-src/src/recpt # A component of the Greenstone digital library software # from the New Zealand Digital Library Project at the # University of Waikato, New Zealand. # # Copyright (C) 1999-2008 The New Zealand Digital Library Project # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ########################################################################### GSDL_DIR = ../../.. COMMON_DIR = $(GSDL_DIR)/common-src RUNTIME_DIR = $(GSDL_DIR)/runtime-src GSDLOS = @gsdlos@ INDEXERS_DIR = $(COMMON_DIR)/indexers COMMON_PACKAGES_DIR = $(COMMON_DIR)/packages RUNTIME_PACKAGES_DIR = $(RUNTIME_DIR)/packages COLSERVR_DIR = $(RUNTIME_DIR)/src/colservr PROTOCOL_DIR = $(RUNTIME_DIR)/src/protocol Z3950_DIR = $(RUNTIME_DIR)/src/z3950 ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@ ifeq ($(ENABLE_ACCENTFOLD), 1) ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a else ACCENTFOLD_LIBS = endif USE_FASTCGI = @USE_FASTCGI@ ifeq ($(USE_FASTCGI), 1) FASTCGI_DEFS = -DUSE_FASTCGI FASTCGI_INCLUDES = -I$(RUNTIME_PACKAGES_DIR)/fcgi/include FASTCGI_LIBS = $(RUNTIME_PACKAGES_DIR)/fcgi/libfcgi/libfcgi.a else FASTCGI_DEFS = FASTCGI_INCLUDES = FASTCGI_LIBS = endif USE_SQLITE = @USE_SQLITE@ ifeq ($(USE_SQLITE), 1) SQLITE_LIBS = $(COMMON_PACKAGES_DIR)/sqlite/lib/libsqlite3.a -ldl -lpthread else SQLITE_LIBS = endif USE_Z3950 = @USE_Z3950@ ifeq ($(USE_Z3950), 1) Z3950_DEFS = -DUSE_Z3950 Z3950_INCLUDES = -I$(Z3950_DIR) Z3950_LIBS = $(Z3950_DIR)/gsdlz3950.a $(RUNTIME_PACKAGES_DIR)/yaz/lib/libyaz.a else Z3950_DEFS = Z3950_INCLUDES = Z3950_LIBS = endif USE_APACHE_HTTPD=@USE_APACHE_HTTPD@ #ifeq ($(USE_APACHE_HTTPD), 1) ifeq ($(USE_APACHE_HTTPD), "IGNORE_FOR_NOW") APACHE_OBJS = string_pool.o mod_gsdl.o APACHE_INSTDIR=$(GSDL_DIR)/apache-httpd/$(GSDLOS) APACHE_SRCLIBDIR=../../packages/apache-httpd/httpd-2.2.11/srclib APXS_CFLAGS=-I$(APACHE_INSTDIR)/include \ -I$(APACHE_SRCLIBDIR)/apr/include -I$(APACHE_SRCLIBDIR)/apr-util/include APXS_LDFLAGS= -L$(APACHE_INSTDIR)/lib \ -L$(APACHE_SRCLIBDIR)/apr/include -L$(APACHE_SRCLIBDIR)/apr-util/include APACHE_MODULE = mod_gsdl.so else APACHE_OBJS = APACHE_MODULE = endif AR = ar CC = @CC@ CFLAGS=@CFLAGS@ @COMPAT32BITFLAGS@ CXX = @CXX@ CXXFLAGS = @CXXFLAGS@ @COMPAT32BITFLAGS@ DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(Z3950_DEFS) INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib -I$(COMMON_PACKAGES_DIR)/gdbm/include \ -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \ -I$(INDEXERS_DIR)/mg -I$(INDEXERS_DIR)/mg/lib -I$(INDEXERS_DIR)/mgpp/text \ -I$(COMMON_PACKAGES_DIR)/expat/include $(FASTCGI_INCLUDES) $(Z3950_INCLUDES) INSTALL = @INSTALL@ LDFLAGS = @LDFLAGS@ @COMPAT32BITFLAGS@ LIBS = @LIBS@ $(COMMON_PACKAGES_DIR)/gdbm/lib/libgdbm.a -L$(COMMON_PACKAGES_DIR)/expat/lib -lexpat \ $(ACCENTFOLD_LIBS) $(FASTCGI_LIBS) $(SQLITE_LIBS) $(Z3950_LIBS) RANLIB = @RANLIB@ CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES) CXXLINK = $(CXX) $(LDFLAGS) -o $@ SOURCES = \ action.cpp \ argdb.cpp \ authenaction.cpp \ browseaction.cpp \ browseactiontools.cpp \ browserclass.cpp \ browsetoolsclass.cpp \ cgiargs.cpp \ cgiutils.cpp \ cgiwrapper.cpp \ collectoraction.cpp \ configaction.cpp \ converter.cpp \ datelistbrowserclass.cpp \ depositoraction.cpp \ documentaction.cpp \ dynamicclassifieraction.cpp \ extlinkaction.cpp \ formattools.cpp \ gtiaction.cpp \ highlighttext.cpp \ historydb.cpp \ hlistbrowserclass.cpp \ htmlbrowserclass.cpp \ htmlutils.cpp \ invbrowserclass.cpp \ librarymain.cpp \ maincfg.cpp \ pageaction.cpp \ pagedbrowserclass.cpp \ phindaction.cpp \ phindbrowserclass.cpp \ pingaction.cpp \ queryaction.cpp \ querytools.cpp \ receptionist.cpp \ statusaction.cpp \ summarise.cpp \ tipaction.cpp \ userdb.cpp \ usersaction.cpp \ vlistbrowserclass.cpp \ wizardaction.cpp OBJECTS = \ action.o \ argdb.o \ authenaction.o \ browseaction.o \ browseactiontools.o \ browserclass.o \ browsetoolsclass.o \ cgiargs.o \ cgiutils.o \ cgiwrapper.o \ collectoraction.o \ configaction.o \ converter.o \ datelistbrowserclass.o \ depositoraction.o \ documentaction.o \ dynamicclassifieraction.o \ extlinkaction.o \ formattools.o \ gtiaction.o \ highlighttext.o \ historydb.o \ hlistbrowserclass.o \ htmlbrowserclass.o \ htmlutils.o \ invbrowserclass.o \ librarymain.o \ maincfg.o \ pageaction.o \ pagedbrowserclass.o \ phindaction.o \ phindbrowserclass.o \ pingaction.o \ queryaction.o \ querytools.o \ receptionist.o \ statusaction.o \ summarise.o \ tipaction.o \ userdb.o \ usersaction.o \ vlistbrowserclass.o \ wizardaction.o LIBRARY = gsdlrecpt.a GSDL_LIBS = \ $(PROTOCOL_DIR)/gsdlprotocol.a \ $(COLSERVR_DIR)/gsdlcolservr.a \ $(INDEXERS_DIR)/mg/src/text/libmgtext.a \ $(INDEXERS_DIR)/mg/lib/libmglib.a \ $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \ $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a \ $(COMMON_DIR)/src/lib/gsdllib.a EXECUTABLE_OBJECTS = \ $(OBJECTS) \ $(GSDL_LIBS) EXECUTABLE = library.cgi # Default target: make both gsdlrecpt.a and the library executable all: $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) gsdlrecpt.a: $(OBJECTS) rm -f $(LIBRARY) $(AR) cru $(LIBRARY) $(OBJECTS) $(RANLIB) $(LIBRARY) $(EXECUTABLE): $(EXECUTABLE_OBJECTS) $(GSDL_LIBS) $(CXXLINK) $(EXECUTABLE_OBJECTS) $(LIBS) mod_gsdl.o: mod_gsdl.cpp $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES) -D_APACHE_MOD=2 -fPIC $(APXS_CFLAGS) -Wall -o $@ $< mod_gsdl.so: $(APACHE_OBJS) $(LIBRARY) $(CXX) -fPIC -shared -o $@ $(APACHE_OBJS) $(LIBRARY) $(GSDL_LIBS) $(LIBS) .SUFFIXES: .SUFFIXES: .cpp .o .cpp.o: $(CXXCOMPILE) $< install: $(EXECUTABLE) $(INSTALL) -m 755 -s $(EXECUTABLE) $(GSDL_DIR)/cgi-bin ifeq ($(USE_APACHE_HTTPD), 1) $(GSDL_DIR)/apache-httpd/$(GSDLOS)/bin/apxs -i -n gsdl mod_gsdl.so endif clean: rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) $(APACHE_MODULE) $(APACHE_OBJS) distclean: rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) Makefile depend: makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)