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

Last change on this file since 7428 was 3632, checked in by sjboddie, 22 years ago

Added langaction

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