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

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

Tidied up include directories required in the recpt directory.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 12.5 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 \
[15416]159 statusaction.h pageaction.h recptproto.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)
[9928]171LIBRARYHEADERS = nullproto.h z3950proto.h z3950proxy.h corbaproto.h
[1860]172else
[9928]173LIBRARYHEADERS = nullproto.h 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 \
[552]182 recptproto.cpp 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
[1937]200LIBRARYSOURCES = nullproto.cpp librarymain.cpp $(Z_LIBSOURCES)
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 \
[552]215 recptproto.o 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
235LIBRARYOBJECTS = nullproto.o librarymain.o $(Z_LIBOBJS)
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
[1860]375CORBARECPT_OBJECTS = nullproto.o 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.