########################################################################### # # Makefile -- src/oaiservr # 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 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. # ########################################################################### USE_Z3950 = @USE_Z3950@ ifeq ($(USE_Z3950), 1) Z_CFLAGS=-DUSE_Z3950 else Z_CFLAGS= endif USE_CORBA = @USE_CORBA@ ifeq ($(USE_CORBA), 1) CORBA_CFLAGS=-DUSE_CORBA else CORBA_CFLAGS= endif srcDir = ../../src recptDir = ../../src/recpt colservrDir = ../../src/colservr AR = ar CC = @CC@ CPP = @CXX@ #CCFLAGS = @CFLAGS@ -Wall -Wunused -pedantic -W -Woverloaded-virtual CCFLAGS = $(Z_CFLAGS) $(CORBA_CFLAGS) @CFLAGS@ # YAZ kit for z39.50 YAZDIR=../../packages/yaz USE_FASTCGI = @USE_FASTCGI@ ifneq ($(USE_FASTCGI), 1) DEFS = -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM @DEFS@ INCLUDES = -I../../lib -I. -I$(colservrDir) -I../../packages/mg \ -I../../packages/mg/lib -I../../packages/mg/src/text \ -I$(srcDir)/mgpp/lib -I$(srcDir)/mgpp/text -I../.. -I$(recptDir) else DEFS = -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DUSE_FASTCGI @DEFS@ INCLUDES = -I../../lib -I. -I$(colservrDir) -I../../packages/mg \ -I../../packages/mg/lib -I../../packages/mg/src/text \ -I../../packages/fcgi/include -I$(srcDir)/mgpp/lib \ -I$(srcDir)/mgpp/text -I../.. -I$(srcDir) endif MICO_DIR = @MICO_DIR@ MICO_VER = @MICO_VER@ ifeq ($(MICO_DIR), yes) MICO_INC = MICO_LIB = MICO_PATH = else ifeq ($(MICO_DIR), default) MICO_DIR = ../../packages/mico/include MICO_PATH = ../../bin/linux/ else MICO_PATH = endif MICO_INC = -I$(MICO_DIR) MICO_LIB = -L$(MICO_DIR) endif MINCLUDES = -I. -I../../lib -I$(colservrDir) $(MICO_INC) RANLIB = @RANLIB@ LDFLAGS = @LDFLAGS@ GDBM_LIBS=@GDBM_LIBPATH@ -lgdbm LIBS = $(GDBM_LIBS) @LIBS@ GSDLOS = @gsdlos@ COMPILE = $(CC) -c $(CCFLAGS) $(DEFS) $(INCLUDES) LINK = $(CC) $(LDFLAGS) -o $@ CPPCOMPILE = $(CPP) -c $(CCFLAGS) $(DEFS) $(INCLUDES) CPPLINK = $(CPP) $(LDFLAGS) -o $@ MCOMPILE = $(MICO_PATH)mico-c++ -x c++ $(MCFLAGS) $(DEFS) $(MINCLUDES) -c MLINK = $(MICO_PATH)mico-ld -static $(LDFLAGS) $(MICO_LIB) -o $@ MLIBS = $(LIBS) -L../../lib/ -lmico$(MICO_VER) -lmicoaux$(MICO_VER) # in case gdbm.h/libgdbm.a are in a non-standard place... GDBM_OBJS=argdb.o authenaction.o collectoraction.o infodbclass.o userdb.o usersaction.o historydb.o librarymain.o nullproto.o queryaction.o z3950proto.o ifeq ($(USE_CORBA), 1) EXEC = oaiserver else EXEC = oaiserver endif all: $(EXEC) .SUFFIXES: .SUFFIXES: .c .o .c.o: $(COMPILE) $< .SUFFIXES: .cpp .o .cpp.o: $(CPPCOMPILE) $< $(GDBM_OBJS) :%.o :%.cpp $(CPPCOMPILE) @GDBM_INCLUDE@ $< .SUFFIXES: .mpp .o .mpp.o: $(MCOMPILE) $< -o $@ COMMONHEADERS = oaiargs.h oaiaction.h oaidispatcher.h oaiconfig.h identityaction.h recordaction.h \ listrecsaction.h listidsaction.h listsetsaction.h metaformatsaction.h oaitools.h \ abstractlistaction.h metaformat.h dublincore.h rfc1807.h resumptiontoken.h ifeq ($(USE_CORBA), 1) LIBRARYHEADERS = nullproto.h z3950proto.h z3950server.h corbaproto.h else LIBRARYHEADERS = nullproto.h z3950proto.h z3950server.h endif HEADERS = $(COMMONHEADERS) $(LIBRARYHEADERS) COMMONSOURCES = oaiargs.cpp oaiaction.cpp oaidispatcher.cpp oaiconfig.cpp identityaction.cpp recordaction.cpp \ abstractlistaction.cpp listrecsaction.cpp listidsaction.cpp listsetsaction.cpp \ metaformatsaction.cpp oaitools.cpp metaformat.cpp dublincore.cpp rfc1807.cpp \ resumptiontoken.cpp OAISOURCES = SOURCES = $(COMMONSOURCES) $(OAISOURCES) RECPTOBJECTS = $(recptDir)/comtypes.o $(recptDir)/OIDtools.o $(recptDir)/nullproto.o $(recptDir)/recptproto.o \ $(recptDir)/htmlutils.o $(recptDir)/infodbclass.o $(recptDir)/recptconfig.o $(recptDir)/cgiargs.o \ $(recptDir)/cgiutils.o COMMONOBJECTS = oaiargs.o oaiaction.o oaiconfig.o oaidispatcher.o identityaction.o recordaction.o \ abstractlistaction.o listrecsaction.o listidsaction.o listsetsaction.o \ metaformatsaction.o oaitools.o \ metaformat.o dublincore.o rfc1807.o resumptiontoken.o OAIOBJECTS = oaimain.o OBJECTS = $(COMMONOBJECTS) $(RECPTOBJECTS) $(OAIOBJECTS) COLSERVROBJECTS = $(colservrDir)/mgq.o \ $(colservrDir)/search.o \ $(colservrDir)/mgsearch.o \ $(colservrDir)/querycache.o \ $(colservrDir)/queryinfo.o \ $(colservrDir)/collectserver.o \ $(colservrDir)/colservrconfig.o \ $(colservrDir)/maptools.o \ $(colservrDir)/filter.o \ $(colservrDir)/source.o \ $(colservrDir)/browsefilter.o \ $(colservrDir)/queryfilter.o \ $(colservrDir)/mggdbmsource.o \ $(colservrDir)/phrasesearch.o \ $(colservrDir)/phrasequeryfilter.o \ $(colservrDir)/mgqueryfilter.o \ $(colservrDir)/mgppsearch.o \ $(colservrDir)/mgppqueryfilter.o \ $(colservrDir)/collectset.o distclean: rm -f $(COMMONOBJECTS) $(OAIOBJECTS) $(EXEC) Makefile clean: rm -f $(COMMONOBJECTS) $(OAIOBJECTS) $(EXEC) install: install -m 755 -s oaiserver ../../cgi-bin depend: makedepend -Y -- $(DEFS) $(INCLUDES) $(CCFLAGS) -- $(SOURCES) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ifeq ($(USE_FASTCGI), 1) FASTCGI_OBJS = ../../packages/fcgi/libfcgi/libfcgi.a else FASTCGI_OBJS = endif OAI_OBJS = $(OBJECTS) $(COLSERVROBJECTS) \ ../../lib/gsdllib.a \ ../../packages/mg/src/text/libtextin.a \ ../../packages/mg/lib/libmg.a \ $(FASTCGI_OBJS) \ $(srcDir)/mgpp/text/libtextin.a \ $(srcDir)/mgpp/lib/libmg.a oaiserver: $(OAI_OBJS) $(CPPLINK) $(OAI_OBJS) $(LIBS)