source: main/trunk/greenstone2/runtime-src/src/z3950/Makefile.in@ 21324

Last change on this file since 21324 was 21324, checked in by ak19, 14 years ago

Changes to makefiles, configure files, and source code to work with the new configure flags that allow indexers to be individually compiled up by setting each indexer to be enabled or disabled (enable-mg, enable-mgpp, enable-lucene)

File size: 4.4 KB
Line 
1###########################################################################
2#
3# Makefile -- runtime-src/src/z3950
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-2008 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
27GSDL_DIR = ../../..
28COMMON_DIR = $(GSDL_DIR)/common-src
29RUNTIME_DIR = $(GSDL_DIR)/runtime-src
30
31INDEXERS_DIR = $(COMMON_DIR)/indexers
32COMMON_PACKAGES_DIR = $(COMMON_DIR)/packages
33RUNTIME_PACKAGES_DIR = $(RUNTIME_DIR)/packages
34COLSERVR_DIR = $(RUNTIME_DIR)/src/colservr
35PROTOCOL_DIR = $(RUNTIME_DIR)/src/protocol
36
37
38ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@
39ifeq ($(ENABLE_ACCENTFOLD), 1)
40ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a
41else
42ACCENTFOLD_LIBS =
43endif
44
45
46ENABLE_MG = @ENABLE_MG@
47ifeq ($(ENABLE_MG), 1)
48MG_INDEXERS_LIBS = $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
49 $(INDEXERS_DIR)/mg/lib/libmglib.a
50else
51MG_INDEXERS_LIBS =
52endif
53
54ENABLE_MGPP = @ENABLE_MGPP@
55ifeq ($(ENABLE_MGPP), 1)
56MGPP_INDEXERS_LIBS = $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
57 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a
58MGPP_INCLUDES = -I$(INDEXERS_DIR)/mgpp/text
59else
60MGPP_INDEXERS_LIBS =
61MGPP_INCLUDES =
62endif
63
64
65USE_SQLITE = @USE_SQLITE@
66ifeq ($(USE_SQLITE), 1)
67SQLITE_LIBS = $(COMMON_PACKAGES_DIR)/sqlite/lib/libsqlite3.a -ldl -lpthread
68else
69SQLITE_LIBS =
70endif
71
72USE_Z3950 = @USE_Z3950@
73ifeq ($(USE_Z3950), 1)
74AR = ar
75CC = @CC@
76CPP = @CXX@
77CFLAGS = @CFLAGS@
78CPPFLAGS = @CXXFLAGS@
79DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DGSDLSERVER
80GSDLOS = @gsdlos@
81# Do NOT add the "recpt" directory here: the z39.50 code should be independent of the receptionist!
82INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
83 $(MGPP_INCLUDES) -I$(RUNTIME_PACKAGES_DIR)/yaz/yaz-2.1.4/include \
84 -I$(RUNTIME_PACKAGES_DIR)/yaz/yaz-2.1.4/client -I$(RUNTIME_PACKAGES_DIR)/d2m
85INSTALL = @INSTALL@
86LDFLAGS = @LDFLAGS@
87LIBS = @LIBS@ $(COMMON_PACKAGES_DIR)/gdbm/lib/libgdbm.a -L$(COMMON_PACKAGES_DIR)/expat/lib -lexpat \
88 $(ACCENTFOLD_LIBS) $(SQLITE_LIBS) \
89 $(RUNTIME_PACKAGES_DIR)/yaz/lib/libyaz.a $(RUNTIME_PACKAGES_DIR)/d2m/libd2m.a -lxml2
90RANLIB = @RANLIB@
91
92
93COMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES)
94CPPCOMPILE = $(CPP) -c $(CPPFLAGS) $(DEFS) $(INCLUDES)
95CPPLINK = $(CPP) $(LDFLAGS) -o $@
96
97
98.SUFFIXES:
99.SUFFIXES: .c .o
100.c.o:
101 $(COMPILE) $<
102
103.SUFFIXES: .cpp .o
104.cpp.o:
105 $(CPPCOMPILE) $<
106
107
108LIBRARY_SOURCES = \
109 yaz_zclient.c \
110 z3950proto.cpp \
111 z3950proxy.cpp \
112 zparse.tab.c \
113 zparse.yy.c
114
115LIBRARY_OBJECTS = \
116 yaz_zclient.o \
117 z3950proto.o \
118 z3950proxy.o \
119 zparse.tab.o \
120 zparse.yy.o
121
122LIBRARY = gsdlz3950.a
123
124SOURCES = \
125 z3950explain.cpp \
126 z3950parser.cpp \
127 z3950server.cpp \
128 z3950_to_gsdl.cpp
129
130OBJECTS = \
131 z3950explain.o \
132 z3950parser.o \
133 z3950server.o \
134 z3950_to_gsdl.o
135
136GSDL_LIBS = \
137 gsdlz3950.a \
138 $(PROTOCOL_DIR)/gsdlprotocol.a \
139 $(COLSERVR_DIR)/gsdlcolservr.a \
140 $(MG_INDEXERS_LIBS) \
141 $(MGPP_INDEXERS_LIBS) \
142 $(COMMON_DIR)/src/lib/gsdllib.a
143
144EXECUTABLE_OBJECTS = \
145 $(OBJECTS) \
146 $(GSDL_LIBS)
147
148EXECUTABLE = z3950server
149
150
151# Default target: make both gsdlz3950.a and the z3950server executable
152all: $(LIBRARY) $(EXECUTABLE)
153
154gsdlz3950.a: $(LIBRARY_OBJECTS)
155 rm -f $(LIBRARY)
156 $(AR) cru $(LIBRARY) $(LIBRARY_OBJECTS) $(RUNTIME_PACKAGES_DIR)/yaz/yaz-2.1.4/client/tabcomplete.o
157 $(RANLIB) $(LIBRARY)
158
159z3950server: $(EXECUTABLE_OBJECTS)
160 $(CPPLINK) $(EXECUTABLE_OBJECTS) $(LIBS)
161
162install: $(EXECUTABLE)
163 $(INSTALL) -m 755 -s $(EXECUTABLE) $(GSDL_DIR)/bin/$(GSDLOS)
164
165clean:
166 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE)
167
168depend:
169 makedepend -Y -- $(DEFS) $(INCLUDES) $(CPPFLAGS) -- $(SOURCES)
170
171else
172all:
173install:
174clean:
175depend:
176endif
177
178distclean: clean
179 rm -f Makefile
180
Note: See TracBrowser for help on using the repository browser.