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

Last change on this file since 15597 was 15579, checked in by mdewsnip, 16 years ago

More tidy ups to all the Makefiles, this time to tidy up the targets and add comments about the default target.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 5.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-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 = ../..
28INDEXERS_DIR = $(GSDL_DIR)/indexers
29PACKAGES_DIR = $(GSDL_DIR)/packages
30COLSERVR_DIR = $(GSDL_DIR)/src/colservr
31PROTOCOL_DIR = $(GSDL_DIR)/src/protocol
32Z3950_DIR = $(GSDL_DIR)/src/z3950
33
34
35ENABLE_ACCENTFOLD = @ENABLE_ACCENTFOLD@
36ifeq ($(ENABLE_ACCENTFOLD), 1)
37ACCENTFOLD_LIBS = $(INDEXERS_DIR)/packages/unac/libunac.a
38else
39ACCENTFOLD_LIBS =
40endif
41
42USE_FASTCGI = @USE_FASTCGI@
43ifeq ($(USE_FASTCGI), 1)
44FASTCGI_DEFS = -DUSE_FASTCGI
45FASTCGI_INCLUDES = -I$(PACKAGES_DIR)/fcgi/include
46FASTCGI_LIBS = $(PACKAGES_DIR)/fcgi/libfcgi/libfcgi.a
47else
48FASTCGI_DEFS =
49FASTCGI_INCLUDES =
50FASTCGI_LIBS =
51endif
52
53USE_Z3950 = @USE_Z3950@
54ifeq ($(USE_Z3950), 1)
55Z3950_DEFS = -DUSE_Z3950
56Z3950_INCLUDES = -I$(Z3950_DIR)
57Z3950_LIBS = $(Z3950_DIR)/gsdlz3950.a $(PACKAGES_DIR)/yaz/lib/libyaz.a
58else
59Z3950_DEFS =
60Z3950_INCLUDES =
61Z3950_LIBS =
62endif
63
64
65AR = ar
66CC = @CC@
67CFLAGS=@CFLAGS@ @COMPAT32BITFLAGS@
68CXX = @CXX@
69CXXFLAGS = @CXXFLAGS@ @COMPAT32BITFLAGS@
70DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(Z3950_DEFS)
71INCLUDES = @GDBM_INCLUDE@ -I. -I$(GSDL_DIR) -I$(GSDL_DIR)/lib \
72 -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
73 -I$(INDEXERS_DIR)/mg -I$(INDEXERS_DIR)/mg/lib -I$(INDEXERS_DIR)/mgpp/text \
74 -I$(PACKAGES_DIR)/expat/include $(FASTCGI_INCLUDES) $(Z3950_INCLUDES)
75INSTALL = @INSTALL@
76LDFLAGS = @LDFLAGS@ @COMPAT32BITFLAGS@
77LIBS = @LIBS@ @GDBM_LIBPATH@ -lgdbm -L$(PACKAGES_DIR)/expat/lib -lexpat $(ACCENTFOLD_LIBS) \
78 $(FASTCGI_LIBS) $(Z3950_LIBS)
79RANLIB = @RANLIB@
80
81
82CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
83CXXLINK = $(CXX) $(LDFLAGS) -o $@
84
85
86.SUFFIXES:
87.SUFFIXES: .cpp .o
88.cpp.o:
89 $(CXXCOMPILE) $<
90
91
92SOURCES = \
93 action.cpp \
94 argdb.cpp \
95 authenaction.cpp \
96 browseaction.cpp \
97 browseactiontools.cpp \
98 browserclass.cpp \
99 browsetoolsclass.cpp \
100 cgiargs.cpp \
101 cgiutils.cpp \
102 cgiwrapper.cpp \
103 collectoraction.cpp \
104 converter.cpp \
105 datelistbrowserclass.cpp \
106 depositoraction.cpp \
107 documentaction.cpp \
108 extlinkaction.cpp \
109 formattools.cpp \
110 gtiaction.cpp \
111 highlighttext.cpp \
112 historydb.cpp \
113 hlistbrowserclass.cpp \
114 htmlbrowserclass.cpp \
115 htmlutils.cpp \
116 invbrowserclass.cpp \
117 librarymain.cpp \
118 maincfg.cpp \
119 pageaction.cpp \
120 pagedbrowserclass.cpp \
121 phindaction.cpp \
122 phindbrowserclass.cpp \
123 pingaction.cpp \
124 queryaction.cpp \
125 querytools.cpp \
126 receptionist.cpp \
127 statusaction.cpp \
128 summarise.cpp \
129 tipaction.cpp \
130 userdb.cpp \
131 usersaction.cpp \
132 vlistbrowserclass.cpp \
133 wizardaction.cpp
134
135OBJECTS = \
136 action.o \
137 argdb.o \
138 authenaction.o \
139 browseaction.o \
140 browseactiontools.o \
141 browserclass.o \
142 browsetoolsclass.o \
143 cgiargs.o \
144 cgiutils.o \
145 cgiwrapper.o \
146 collectoraction.o \
147 converter.o \
148 datelistbrowserclass.o \
149 depositoraction.o \
150 documentaction.o \
151 extlinkaction.o \
152 formattools.o \
153 gtiaction.o \
154 highlighttext.o \
155 historydb.o \
156 hlistbrowserclass.o \
157 htmlbrowserclass.o \
158 htmlutils.o \
159 invbrowserclass.o \
160 librarymain.o \
161 maincfg.o \
162 pageaction.o \
163 pagedbrowserclass.o \
164 phindaction.o \
165 phindbrowserclass.o \
166 pingaction.o \
167 queryaction.o \
168 querytools.o \
169 receptionist.o \
170 statusaction.o \
171 summarise.o \
172 tipaction.o \
173 userdb.o \
174 usersaction.o \
175 vlistbrowserclass.o \
176 wizardaction.o
177
178LIBRARY = gsdlrecpt.a
179
180GSDL_LIBS = \
181 $(PROTOCOL_DIR)/gsdlprotocol.a \
182 $(COLSERVR_DIR)/gsdlcolservr.a \
183 $(INDEXERS_DIR)/mg/src/text/libmgtext.a \
184 $(INDEXERS_DIR)/mg/lib/libmglib.a \
185 $(INDEXERS_DIR)/mgpp/text/libmgpptext.a \
186 $(INDEXERS_DIR)/mgpp/lib/libmgpplib.a \
187 $(GSDL_DIR)/lib/gsdllib.a
188
189EXECUTABLE_OBJECTS = \
190 $(OBJECTS) \
191 $(GSDL_LIBS)
192
193EXECUTABLE = library
194
195
196# Default target: make both gsdlrecpt.a and the library executable
197all: $(LIBRARY) $(EXECUTABLE)
198
199gsdlrecpt.a: $(OBJECTS)
200 rm -f $(LIBRARY)
201 $(AR) cru $(LIBRARY) $(OBJECTS)
202 $(RANLIB) $(LIBRARY)
203
204library: $(EXECUTABLE_OBJECTS)
205 $(CXXLINK) $(EXECUTABLE_OBJECTS) $(LIBS)
206
207install: $(EXECUTABLE)
208 $(INSTALL) -m 755 -s $(EXECUTABLE) $(GSDL_DIR)/cgi-bin
209
210clean:
211 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE)
212
213distclean:
214 rm -f $(OBJECTS) $(LIBRARY) $(EXECUTABLE) Makefile
215
216depend:
217 makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
Note: See TracBrowser for help on using the repository browser.