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

Last change on this file since 12525 was 12518, checked in by kjdon, 18 years ago

removed cgicc

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