source: gsdl/trunk/src/recpt/Makefile.in@ 15455

Last change on this file since 15455 was 15455, checked in by mdewsnip, 16 years ago

Fixed up some references to nullproto and recptproto, which are now in the "protocol" directory.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 12.4 KB
RevLine 
[552]1###########################################################################
2#
[558]3# Makefile -- 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#
[552]8# Copyright (C) 1999 The New Zealand Digital Library Project
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
[1937]27USE_Z3950 = @USE_Z3950@
28ifeq ($(USE_Z3950), 1)
29Z_CFLAGS=-DUSE_Z3950
30else
31Z_CFLAGS=
32endif
33
[2171]34USE_CORBA = @USE_CORBA@
35ifeq ($(USE_CORBA), 1)
36CORBA_CFLAGS=-DUSE_CORBA
37else
38CORBA_CFLAGS=
39endif
40
[13773]41INDEXERS_DIR=../../indexers
42
[12926]43ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@
44ifeq ($(ENABLE_ACCENTFOLD), 1)
[13773]45AFLIBS = $(INDEXERS_DIR)/packages/unac/libunac.a
[12926]46AFFLAGS = -DENABLE_ACCENTFOLD
47else
48AFLIBS =
49AFFLAGS =
50endif
51
[552]52AR = ar
53CC = @CC@
[2941]54CXX = @CXX@
[568]55
[12926]56CXXFLAGS = $(Z_CFLAGS) $(CORBA_CFLAGS) $(AFFLAGS) @CXXFLAGS@
[1937]57
[1347]58# YAZ kit for z39.50
59YAZDIR=../../packages/yaz
60
[3632]61
[568]62USE_FASTCGI = @USE_FASTCGI@
63ifneq ($(USE_FASTCGI), 1)
[15452]64DEFS = -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H
65INCLUDES = -I. -I../.. -I../../lib -I../colservr -I../protocol \
66 -I$(INDEXERS_DIR)/mg/lib -I$(INDEXERS_DIR)/mgpp/text \
67 -I../../packages/expat/include
[568]68else
[15452]69DEFS = -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DUSE_FASTCGI -DHAVE_CONFIG_H
70INCLUDES = -I. -I../.. -I../../lib -I../colservr -I../protocol \
71 -I$(INDEXERS_DIR)/mg/lib -I$(INDEXERS_DIR)/mgpp/text \
72 -I../../packages/expat/include -I../../packages/fcgi/include
[556]73endif
[15452]74
[1860]75MICO_DIR = @MICO_DIR@
[2173]76MICO_VER = @MICO_VER@
[1860]77ifeq ($(MICO_DIR), yes)
78MICO_INC =
79MICO_LIB =
[2173]80MICO_PATH =
[1860]81else
82ifeq ($(MICO_DIR), default)
83MICO_DIR = ../../packages/mico/include
[2173]84MICO_PATH = ../../bin/linux/
[2385]85else
86MICO_PATH =
[1860]87endif
88MICO_INC = -I$(MICO_DIR)
89MICO_LIB = -L$(MICO_DIR)
90endif
[13773]91MINCLUDES = -I. -I../../lib -I../colservr -I$(INDEXERS_DIR)/mgpp/text $(MICO_INC)
[568]92
[11441]93LC_LIBS = -L../../packages/expat/lib -lexpat
[8033]94LC_OBJECTS = \
95 ../colservr/lucenesearch.o \
96 ../colservr/lucenequeryfilter.o \
97 ../colservr/lucenegdbmsource.o \
[9176]98 ../colservr/expat_resultset.o \
99 ../colservr/expat_document.o
[8033]100
[552]101RANLIB = @RANLIB@
102LDFLAGS = @LDFLAGS@
[2371]103GDBM_LIBS=@GDBM_LIBPATH@ -lgdbm
[12926]104LIBS = $(GDBM_LIBS) $(LC_LIBS) $(AFLIBS) @LIBS@
[558]105GSDLOS = @gsdlos@
[2900]106INSTALL = @INSTALL@
[552]107
108COMPILE = $(CC) -c $(CCFLAGS) $(DEFS) $(INCLUDES)
109LINK = $(CC) $(LDFLAGS) -o $@
110
[2941]111CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
112CXXLINK = $(CXX) $(LDFLAGS) -o $@
[1860]113
[2173]114MCOMPILE = $(MICO_PATH)mico-c++ -x c++ $(MCFLAGS) $(DEFS) $(MINCLUDES) -c
[8185]115MSTATIC = @STATIC@
116MLINK = $(MICO_PATH)mico-ld $(MSTATIC) $(LDFLAGS) $(MICO_LIB) -o $@
[2173]117MLIBS = $(LIBS) -L../../lib/ -lmico$(MICO_VER) -lmicoaux$(MICO_VER)
[1860]118
[2371]119# in case gdbm.h/libgdbm.a are in a non-standard place...
[11998]120GDBM_OBJS=argdb.o authenaction.o collectoraction.o depositoraction.o wizardaction.o infodbclass.o userdb.o usersaction.o historydb.o librarymain.o nullproto.o queryaction.o z3950proto.o
[2371]121
122ifeq ($(USE_CORBA), 1)
123#EXEC = recpt library corbaserver corbarecptldd
124EXEC = library corbaserver corbarecptldd
125else
126#EXEC = recpt library
127EXEC = library
128endif
129
[10178]130ifeq ($(USE_Z3950), 1)
[10182]131Z3950EXEC = z3950server
132else
133Z3950EXEC =
[10178]134endif
135
[10182]136all: $(EXEC) $(Z3950EXEC)
[2371]137
138
[10182]139
[552]140.SUFFIXES:
141.SUFFIXES: .c .o
142.c.o:
143 $(COMPILE) $<
144
145.SUFFIXES: .cpp .o
146.cpp.o:
[2941]147 $(CXXCOMPILE) $<
[552]148
[2371]149$(GDBM_OBJS) :%.o :%.cpp
[2941]150 $(CXXCOMPILE) @GDBM_INCLUDE@ $<
[2371]151
[1860]152.SUFFIXES: .mpp .o
153.mpp.o:
[2385]154 $(MCOMPILE) $< -o $@
[1860]155
[3632]156
[675]157COMMONHEADERS = receptionist.h cgiwrapper.h cgiargs.h action.h browserclass.h \
[15418]158 converter.h maincfg.h cgiutils.h recptprototools.h browsetoolsclass.h \
[15455]159 statusaction.h pageaction.h \
[2394]160 pingaction.h queryaction.h documentaction.h \
161 extlinkaction.h browseaction.h htmlutils.h argdb.h \
[15420]162 querytools.h browseactiontools.h formattools.h tipaction.h authenaction.h \
[675]163 userdb.h usersaction.h vlistbrowserclass.h hlistbrowserclass.h \
[713]164 datelistbrowserclass.h invbrowserclass.h pagedbrowserclass.h \
[11998]165 htmlbrowserclass.h phindbrowserclass.h historydb.h collectoraction.h depositoraction.h wizardaction.h \
[10018]166 phindaction.h summarise.h highlighttext.h gtiaction.h
[552]167
168RECEPTHEADERS =
169
[1860]170ifeq ($(USE_CORBA), 1)
[15455]171LIBRARYHEADERS = z3950proto.h z3950proxy.h corbaproto.h
[1860]172else
[15455]173LIBRARYHEADERS = z3950proto.h z3950proxy.h
[1860]174endif
[552]175
176HEADERS = $(COMMONHEADERS) $(RECPTHEADERS) $(LIBRARYHEADERS)
177
178
[675]179COMMONSOURCES = receptionist.cpp cgiwrapper.cpp cgiargs.cpp action.cpp browserclass.cpp \
[15418]180 converter.cpp maincfg.cpp cgiutils.cpp recptprototools.cpp browsetoolsclass.cpp \
[15416]181 statusaction.cpp pageaction.cpp \
[15455]182 pingaction.cpp queryaction.cpp documentaction.cpp \
[2491]183 extlinkaction.cpp browseaction.h htmlutils.cpp querytools.cpp \
[15420]184 tipaction.cpp authenaction.cpp userdb.cpp usersaction.cpp \
[722]185 vlistbrowserclass.cpp hlistbrowserclass.cpp datelistbrowserclass.cpp \
[951]186 invbrowserclass.cpp pagedbrowserclass.cpp htmlbrowserclass.cpp \
[11998]187 phindbrowserclass.cpp historydb.cpp collectoraction.cpp depositoraction.cpp wizardaction.cpp argdb.cpp \
[3322]188 browseactiontools.h formattools.cpp phindaction.cpp summarise.cpp \
[10018]189 highlighttext.cpp gtiaction.cpp
[552]190
[722]191
[552]192RECPTSOURCES = recptmain.cpp
193
[1937]194ifeq ($(USE_Z3950), 1)
[10706]195Z_LIBSOURCES=z3950proto.cpp z3950proxy.cpp yaz_zclient.c zparse.tab.c zparse.yy.c $(YAZDIR)/yaz-2.1.4/client/tabcomplete.c
[1937]196else
197Z_LIBSOURCES=
198endif
[552]199
[15455]200LIBRARYSOURCES = librarymain.cpp $(Z_LIBSOURCES)
[1937]201
[10018]202SOURCES = $(COMMONSOURCES) $(RECPTSOURCES) $(LIBRARYSOURCES)
[552]203
204
[1937]205ifeq ($(USE_Z3950), 1)
[10706]206Z_COMOBJS=zparse.yy.o
[1937]207else
208Z_COMOBJS=
209endif
210
[3632]211
[675]212COMMONOBJECTS = receptionist.o cgiwrapper.o cgiargs.o action.o browserclass.o \
[15418]213 converter.o maincfg.o cgiutils.o recptprototools.o browsetoolsclass.o \
[15416]214 statusaction.o pageaction.o \
[15455]215 pingaction.o queryaction.o documentaction.o \
[2491]216 extlinkaction.o browseaction.o htmlutils.o querytools.o browseactiontools.o \
217 formattools.o tipaction.o authenaction.o argdb.o \
[15420]218 userdb.o usersaction.o vlistbrowserclass.o \
[675]219 hlistbrowserclass.o datelistbrowserclass.o invbrowserclass.o \
[1643]220 pagedbrowserclass.o htmlbrowserclass.o phindbrowserclass.o \
[11998]221 historydb.o $(Z_COMOBJS) collectoraction.o depositoraction.o wizardaction.o phindaction.o \
[10018]222 summarise.o highlighttext.o gtiaction.o
[552]223
224RECPTOBJECTS = recptmain.o
225
226
[1937]227ifeq ($(USE_Z3950), 1)
[10178]228Z_LIBOBJS=z3950proto.o z3950proxy.o yaz_zclient.o zparse.tab.o
229Z_CLIENTOBJS=$(YAZDIR)/yaz-2.1.4/client/tabcomplete.o
[1937]230else
231Z_LIBOBJS=
[10178]232Z_CLIENTOBJS=
[1937]233endif
234
[15455]235LIBRARYOBJECTS = librarymain.o $(Z_LIBOBJS)
[1937]236
[552]237OBJECTS = $(COMMONOBJECTS) $(RECPTOBJECTS) $(LIBRARYOBJECTS)
238
239
[15416]240COLSERVROBJECTS = ../colservr/comtypes.o \
241 ../colservr/mgq.o \
[1331]242 ../colservr/search.o \
[558]243 ../colservr/mgsearch.o \
244 ../colservr/querycache.o \
245 ../colservr/queryinfo.o \
246 ../colservr/collectserver.o \
247 ../colservr/colservrconfig.o \
248 ../colservr/maptools.o \
249 ../colservr/filter.o \
250 ../colservr/source.o \
251 ../colservr/browsefilter.o \
252 ../colservr/queryfilter.o \
[9399]253 ../colservr/gdbmsource.o \
[558]254 ../colservr/mggdbmsource.o \
255 ../colservr/phrasesearch.o \
[1331]256 ../colservr/phrasequeryfilter.o \
257 ../colservr/mgqueryfilter.o \
258 ../colservr/mgppsearch.o \
[1860]259 ../colservr/mgppqueryfilter.o \
[8033]260 ../colservr/collectset.o \
261 $(LC_OBJECTS)
[558]262
[15450]263PROTOCOLOBJECTS = ../protocol/recptproto.o \
264 ../protocol/nullproto.o
[558]265
[552]266
[1937]267## z39.50 rules
[1381]268# Note! If USE_FASTCGI=1, yaz is still compiled and linked, but never
269# called by librarymain.cpp.
[10178]270yaz_zclient.o: yaz_zclient.c
[10706]271 $(COMPILE) -I$(YAZDIR)/yaz-2.1.4/include -I$(YAZDIR)/yaz-2.1.4/client $<
[1347]272
[1715]273# this should be done by the top level makefile...
[1347]274$(YAZDIR)/lib/libyaz.a:
[10184]275 cd $(YAZDIR)/yaz-2.1.4/src && $(MAKE) && $(MAKE) install
[1347]276
[1519]277# put a separate rule here, as it speeds up compilation of other objects
278# if they don't need to include all the yaz headers
279z3950%.o: z3950%.cpp
[15425]280 $(COMPILE) -I$(YAZDIR)/include -I../../packages/d2m $<
[1519]281
[1347]282zparse.tab.c: zparse.y
[1351]283 @YACC@ -b zparse -d zparse.y
[1347]284
[1355]285zparse.tab.h: zparse.tab.c
286
[10706]287zparse.yy.c: zparse.fl zparse.tab.h
288 flex -Pzconfig -ozparse.yy.c zparse.fl
[1347]289
[1519]290
291
[1385]292# We'll keep the .c and .h files for those without lex/flex and yacc/bison.
[10706]293#PARSE_TMPFILES= zparse.tab.o zparse.tab.c zparse.tab.h zparse.yy.o zparse.yy.c
294PARSE_TMPFILE=zparse.tab.o zparse.yy.o
[1347]295
[10706]296
[992]297distclean:
[1347]298 rm -f $(OBJECTS) $(EXEC) $(PARSE_TMPFILES) Makefile
[992]299
[552]300clean:
[1347]301 rm -f $(OBJECTS) $(EXEC) $(PARSE_TMPFILES)
[552]302
303install:
[2900]304 $(INSTALL) -m 755 -s library ../../cgi-bin
[10400]305ifeq ($(USE_Z3950), 1)
306 $(INSTALL) -m 755 -s z3950server ../../bin/$(GSDLOS)
307endif
[552]308
309depend:
[2941]310 makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
[552]311
312# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
[2171]313ifeq ($(USE_FASTCGI), 1)
314 FASTCGI_OBJS = ../../packages/fcgi/libfcgi/libfcgi.a
315else
316 FASTCGI_OBJS =
317endif
[552]318
319RECPT_OBJS = $(COMMONOBJECTS) $(RECPTOBJECTS) \
320 ../../lib/gsdllib.a \
[13773]321 $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
322 $(INDEXERS_DIR)/mg/lib/libmglib.a \
[2171]323 $(FASTCGI_OBJS) \
[13773]324 $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
325 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
[552]326
327recpt: $(RECPT_OBJS)
[2941]328 $(CXXLINK) $(RECPT_OBJS) $(LIBS)
[552]329
330# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
[1937]331ifeq ($(USE_Z3950), 1)
332Z_LIBYAZ_A=$(YAZDIR)/lib/libyaz.a
333else
334Z_LIBYAZ_A=
335endif
[552]336
[1937]337
[15450]338LIBRARY_OBJS = $(COMMONOBJECTS) $(LIBRARYOBJECTS) $(COLSERVROBJECTS) $(PROTOCOLOBJECTS) $(Z_CLIENTOBJS) \
[552]339 ../../lib/gsdllib.a \
[13773]340 $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
341 $(INDEXERS_DIR)/mg/lib/libmglib.a \
[2171]342 $(FASTCGI_OBJS) $(Z_LIBYAZ_A) \
[13773]343 $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
344 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
[552]345
346library: $(LIBRARY_OBJS)
[2941]347 $(CXXLINK) $(LIBRARY_OBJS) $(LIBS)
[1331]348
[1860]349# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
[1331]350
[1860]351RECPTLIB_OBJECTS = nullproto.o corbaproto.o \
352 ../../lib/corbatext_t.o ../../lib/corbaconv_text_t.o \
[2126]353 ../../lib/corbaiface.o ../../lib/corbaiface_skel.o
[2171]354
[1860]355RLIBRARY_OBJS = $(COMMONOBJECTS) $(RECPTLIB_OBJECTS) $(COLSERVROBJECTS) \
356 ../../lib/gsdllib.a \
[13773]357 $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
358 $(INDEXERS_DIR)/mg/lib/libmglib.a \
[2171]359 $(FASTCGI_OBJS) $(Z_LIBOBJS) $(Z_LIBYAZ_A) \
[13773]360 $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
361 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
[2171]362
[1860]363RECPTLIB_OBJS = $(RLIBRARY_OBJS) ../colservr/corbaServer.o
[1331]364
[1860]365corbaserver: $(RECPTLIB_OBJS)
[2171]366 @echo -e building corbaserver
[1860]367 $(MLINK) $(RECPTLIB_OBJS) $(MLIBS)
[2234]368# stripping symbols was a cunning plan, but caused difficulties when
369# it came to debugging ...
[2171]370# non GNU strips might not like these options - check autoconf?
371# strip --strip-all --discard-all corbaserver
[2234]372# strip corbaserver
[1860]373# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
[1331]374
[15455]375CORBARECPT_OBJECTS = corbaproto.o corbaclient.o
[2171]376
[1860]377CORBARECPT_OBJS = $(COMMONOBJECTS) $(CORBARECPT_OBJECTS) $(COLSERVROBJECTS) \
[2113]378 ../../lib/corbaiface.o \
[2126]379 ../../lib/corbaiface_skel.o \
[2113]380 ../../lib/corbaconv_text_t.o \
381 ../../lib/corbatext_t.o \
[1860]382 ../../lib/gsdllib.a \
[13773]383 $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
384 $(INDEXERS_DIR)/mg/lib/libmglib.a \
[2171]385 $(FASTCGI_OBJS) \
[13773]386 $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
387 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
[1860]388
[2171]389
[1860]390corbarecptldd: $(CORBARECPT_OBJS)
[2171]391 @echo -e building corbarecptldd:
[2113]392 $(MLINK) $(CORBARECPT_OBJS) $(MLIBS)
[1860]393
394test:
[2724]395
[15425]396Z3950_OBJECTS = z3950explain.o z3950parser.o z3950server.o z3950_to_gsdl.o
397
398Z3950_OBJS = $(Z3950_OBJECTS) recptproto.o recptprototools.o nullproto.o $(COLSERVROBJECTS) \
[8033]399 ../../lib/gsdllib.a \
[13773]400 $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
401 $(INDEXERS_DIR)/mg/lib/libmglib.a \
[8033]402 $(FASTCGI_OBJS) \
[13773]403 $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
[15425]404 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a \
405 ../../packages/yaz/lib/libyaz.a ../../packages/d2m/libd2m.a
[8033]406
407z3950server: $(Z3950_OBJS)
408 @echo -e building z3950server
[12495]409 $(CXXLINK) $(Z3950_OBJS) $(LIBS) -lxml2
Note: See TracBrowser for help on using the repository browser.