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

Last change on this file since 9033 was 9033, checked in by davidb, 19 years ago

XML parsing support for Lucene used to be done with sax. This has now been
changed to the more light-weight expat, which is already being used by
XMLPlug and other perl modules.

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