source: main/trunk/greenstone2/runtime-src/src/colservr/Makefile.in@ 23389

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

Changes to makefiles to 1. incorporate USE_GDBM and USE_JDBM flags (and USE_SQLITE) in most places so that the DEFINES variable is set at all times. This is necessary to ensure that all classes that contain objects with gdbm and jdbm members are of a consistent size. Else we've had experience with Greenstone crashing with memory errors (to do with the similar ENABLE_indexer flags). 2. ENABLE_JDBM is now USE_JDBM. 3. Not everything works now. It still compiles the default way, but the disable-gdbm flag is causing trouble when compiling argdb in recpt since it uses that.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 4.5 KB
RevLine 
[556]1###########################################################################
2#
[18224]3# Makefile -- runtime-src/src/colservr
[558]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#
[15426]8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
[556]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#
[556]25###########################################################################
26
[16563]27GSDL_DIR = ../../..
[16572]28COMMON_DIR = $(GSDL_DIR)/common-src
[15459]29
[16563]30INDEXERS_DIR = $(COMMON_DIR)/indexers
[18224]31COMMON_PACKAGES_DIR = $(COMMON_DIR)/packages
[15474]32
[21324]33# NOTE: phrasequeryfilter inherits from mgqueryfilter and uses mgsearch
34ENABLE_MG = @ENABLE_MG@
35ifeq ($(ENABLE_MG), 1)
36MG_SOURCES = mgq.c \
37 mgqueryfilter.cpp \
38 mgsearch.cpp \
39 mgsource.cpp \
40 phrasequeryfilter.cpp
41MG_OBJECTS = mgq.o \
42 mgqueryfilter.o \
43 mgsearch.o \
44 mgsource.o \
45 phrasequeryfilter.o
46MG_INCLUDES = -I$(INDEXERS_DIR)/mg -I$(INDEXERS_DIR)/mg/lib -I$(INDEXERS_DIR)/mg/src/text
47else
48MG_SOURCES =
49MG_OBJECTS =
50MG_INCLUDES =
51endif
[16563]52
[21324]53ENABLE_MGPP = @ENABLE_MGPP@
54ifeq ($(ENABLE_MGPP), 1)
55MGPP_SOURCES = mgppqueryfilter.cpp \
56 mgppsearch.cpp \
57 mgppsource.cpp
58MGPP_OBJECTS = mgppqueryfilter.o \
59 mgppsearch.o \
60 mgppsource.o
61MGPP_INCLUDES = -I$(INDEXERS_DIR)/mgpp/lib -I$(INDEXERS_DIR)/mgpp/text
62else
63MGPP_SOURCES =
64MGPP_OBJECTS =
65MGPP_INCLUDES =
66endif
67
68
69ENABLE_LUCENE = @ENABLE_LUCENE@
70ifeq ($(ENABLE_LUCENE), 1)
71LUCENE_SOURCES = lucenequeryfilter.cpp \
72 lucenesearch.cpp \
73 lucenesource.cpp
74LUCENE_OBJECTS = lucenequeryfilter.o \
75 lucenesearch.o \
76 lucenesource.o
77else
78LUCENE_SOURCES =
79LUCENE_OBJECTS =
80endif
81
82
[22058]83USE_GDBM = @USE_GDBM@
[21472]84ifeq ($(USE_GDBM), 1)
85GDBM_DEFINES = -DUSE_GDBM
86GDBM_INCLUDES = -I$(COMMON_PACKAGES_DIR)/gdbm/include
87else
88GDBM_DEFINES =
89GDBM_INCLUDES =
90endif
91
92
[22058]93USE_JDBM = @USE_JDBM@
[21472]94ifeq ($(USE_JDBM), 1)
95JDBM_DEFINES = -DUSE_JDBM
96else
97JDBM_DEFINES =
98endif
99
100
[15684]101USE_SQLITE = @USE_SQLITE@
102ifeq ($(USE_SQLITE), 1)
[15729]103SQLITE_DEFINES = -DUSE_SQLITE
[18224]104SQLITE_INCLUDES = -I$(COMMON_PACKAGES_DIR)/sqlite/include
[15684]105else
[15729]106SQLITE_DEFINES =
[15684]107SQLITE_INCLUDES =
108endif
109
110
[15466]111AR = ar
[556]112CC = @CC@
[15551]113CXX = @CXX@
114CFLAGS = @CFLAGS@ @COMPAT32BITFLAGS@
115CXXFLAGS = @CXXFLAGS@ @COMPAT32BITFLAGS@
[21472]116DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DGSDLSERVER $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES)
[15426]117# Do NOT add the "recpt" directory here: the colserver should be independent of the receptionist!
[21472]118INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib \
[21324]119 $(MG_INCLUDES) \
120 $(MGPP_INCLUDES) \
[21472]121 -I$(COMMON_PACKAGES_DIR)/expat/include $(GDBM_INCLUDES) $(SQLITE_INCLUDES)
[15466]122RANLIB = @RANLIB@
[1323]123
124
[15426]125COMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES)
[15551]126CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
[1323]127
[8031]128
[15426]129.SUFFIXES:
130.SUFFIXES: .c .o
131.c.o:
132 $(COMPILE) $<
[556]133
[15426]134.SUFFIXES: .cpp .o
135.cpp.o:
[15551]136 $(CXXCOMPILE) $<
[15426]137
138
[15460]139SOURCES = \
140 browsefilter.cpp \
141 collectserver.cpp \
142 collectset.cpp \
143 colservrconfig.cpp \
144 comtypes.cpp \
145 expat_document.cpp \
146 expat_resultset.cpp \
147 filter.cpp \
[21324]148 $(LUCENE_SOURCES) \
[15460]149 maptools.cpp \
[21324]150 $(MG_SOURCES) \
151 $(MGPP_SOURCES) \
[15460]152 phrasesearch.cpp \
153 querycache.cpp \
154 queryfilter.cpp \
155 queryinfo.cpp \
156 search.cpp \
[15757]157 source.cpp \
[22050]158 sqlbrowsefilter.cpp \
159 sqlqueryfilter.cpp \
160 sqlfilter.cpp
[15426]161
[15460]162OBJECTS = \
163 browsefilter.o \
164 collectserver.o \
165 collectset.o \
166 colservrconfig.o \
167 comtypes.o \
168 expat_document.o \
169 expat_resultset.o \
170 filter.o \
[21324]171 $(LUCENE_OBJECTS) \
[15460]172 maptools.o \
[21324]173 $(MG_OBJECTS) \
174 $(MGPP_OBJECTS) \
[15460]175 phrasesearch.o \
176 querycache.o \
177 queryfilter.o \
178 queryinfo.o \
179 search.o \
[15757]180 source.o \
[22050]181 sqlbrowsefilter.o \
182 sqlqueryfilter.o \
183 sqlfilter.o
[556]184
[15466]185LIBRARY = gsdlcolservr.a
[556]186
187
[15579]188# Default target: make gsdlcolservr.a
189all: $(LIBRARY)
190
[15466]191gsdlcolservr.a: $(OBJECTS)
[15579]192 rm -f $(LIBRARY)
193 $(AR) cru $(LIBRARY) $(OBJECTS)
194 $(RANLIB) $(LIBRARY)
[15460]195
[15580]196install:
[15466]197
[15469]198clean:
[15579]199 rm -f $(OBJECTS) $(LIBRARY)
[15469]200
[992]201distclean:
[15579]202 rm -f $(OBJECTS) $(LIBRARY) Makefile
[15460]203
[556]204depend:
[15551]205 makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
Note: See TracBrowser for help on using the repository browser.