1 |
adcroft |
1.1 |
# |
2 |
|
|
# Makefile derived from the Makefile coming with swish-e 1.3.2 |
3 |
|
|
# (original Makefile for SWISH Kevin Hughes, 3/12/95) |
4 |
|
|
# |
5 |
|
|
# The code has been tested to compile on Solaris and DEC |
6 |
|
|
# G.Hill ghill@library.berkeley.edu 6/11/97 |
7 |
|
|
# |
8 |
|
|
# autoconf configuration by Bas Meijer, 11 Dec 2000 |
9 |
|
|
# Cross Platform Compilation on Solaris, HP-UX, IRIX, Mac OS X, BDSi and Linux |
10 |
|
|
# Several ideas from a Makefile by Christian Lindig <lindig@ips.cs.tu-bs.de> |
11 |
|
|
# |
12 |
|
|
# $Id: Makefile.in,v 1.47 2002/08/23 23:11:06 whmoseley Exp $ |
13 |
|
|
|
14 |
|
|
# get name and version from configure.in |
15 |
|
|
NAME = @PROJECT@ |
16 |
|
|
VERSION = @VERSION@ |
17 |
|
|
|
18 |
|
|
# C compiler |
19 |
|
|
CC = @CC@ |
20 |
|
|
|
21 |
|
|
SHELL = /bin/sh |
22 |
|
|
prefix = @prefix@ |
23 |
|
|
bindir = $(prefix)/bin |
24 |
|
|
exec_prefix = @exec_prefix@ |
25 |
|
|
libdir = @libdir@ |
26 |
|
|
cflags = @CFLAGS@ |
27 |
|
|
ldflags = @LDFLAGS@ |
28 |
|
|
|
29 |
|
|
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
LIBS = @LIBS@ @LIBXML2_LIB@ @Z_LIBS@ |
33 |
|
|
|
34 |
|
|
# Library related |
35 |
|
|
AR = ar |
36 |
|
|
ARFLAGS = cr |
37 |
|
|
RANLIB = @RANLIB@ |
38 |
|
|
|
39 |
|
|
# |
40 |
|
|
# The objects for the different methods and |
41 |
|
|
# some common aliases |
42 |
|
|
# |
43 |
|
|
|
44 |
|
|
|
45 |
|
|
|
46 |
|
|
#--- James Clark's Expat ---- |
47 |
|
|
|
48 |
|
|
XPDIR = expat |
49 |
|
|
|
50 |
|
|
XP_OBJ = $(XPDIR)/xmltok/xmltok.o \ |
51 |
|
|
$(XPDIR)/xmltok/xmlrole.o \ |
52 |
|
|
$(XPDIR)/xmlparse/xmlparse.o |
53 |
|
|
|
54 |
|
|
XP_INC = -I$(XPDIR)/xmltok -I$(XPDIR)/xmlparse |
55 |
|
|
|
56 |
|
|
XP_H = $(XPDIR)/xmltok/*.h $(XPDIR)/xmlparse/*.h |
57 |
|
|
|
58 |
|
|
|
59 |
|
|
#== Define groups of object files == |
60 |
|
|
|
61 |
|
|
#--- Input methods --- |
62 |
|
|
FILESYSTEM_OBJS = fs.o |
63 |
|
|
HTTP_OBJS = http.o httpserver.o |
64 |
|
|
EXTPROG_OBJS = extprog.o |
65 |
|
|
INPUT_METHODS_OBJS = $(FILESYSTEM_OBJS) $(HTTP_OBJS) $(EXTPROG_OBJS) methods.o |
66 |
|
|
|
67 |
|
|
#--- Parsers --- |
68 |
|
|
PARSER_OBJS = html.o txt.o xml.o $(XP_OBJ) entities.o @LIBXML2_OBJS@ |
69 |
|
|
|
70 |
|
|
|
71 |
|
|
#--- Indexing modules --- |
72 |
|
|
INDEXING_OBJS = $(INPUT_METHODS_OBJS) $(PARSER_OBJS) \ |
73 |
|
|
index.o merge.o stemmer.o soundex.o \ |
74 |
|
|
filter.o parse_conffile.o swregex.o double_metaphone.o |
75 |
|
|
|
76 |
|
|
#--- Logical Groups --- |
77 |
|
|
|
78 |
|
|
SEARCHING_OBJS = swish2.o search.o swish_words.o proplimit.o \ |
79 |
|
|
search_alt.o result_output.o rank.o |
80 |
|
|
|
81 |
|
|
DB_OBJS = hash.o compress.o db.o db_native.o ramdisk.o btree.o array.o |
82 |
|
|
|
83 |
|
|
UTIL_OBJS = check.o file.o error.o list.o mem.o string.o \ |
84 |
|
|
docprop.o metanames.o result_sort.o \ |
85 |
|
|
dump.o swish_qsort.o date_time.o \ |
86 |
|
|
no_better_place_module.o @LIBOBJS@ |
87 |
|
|
|
88 |
|
|
# Only for building the binary |
89 |
|
|
SWISH_BINARY_OBJS = swish.o keychar_out.o |
90 |
|
|
|
91 |
|
|
|
92 |
|
|
# Collection of files for building swish library |
93 |
|
|
# later, separate out indexing from searching |
94 |
|
|
LIB_OBJS = $(INDEXING_OBJS) $(SEARCHING_OBJS) $(DB_OBJS) $(UTIL_OBJS) |
95 |
|
|
SEARCH_LIB_OBJS = $(SEARCHING_OBJS) $(DB_OBJS) $(UTIL_OBJS) |
96 |
|
|
|
97 |
|
|
# All objects for make clean target |
98 |
|
|
OBJS = $(SWISH_BINARY_OBJS) $(SEARCHING_OBJS) $(INDEXING_OBJS) $(SEARCHING_OBJS) $(DB_OBJS) $(UTIL_OBJS) |
99 |
|
|
|
100 |
|
|
# Flags for C compiler |
101 |
|
|
CFLAGS = -Wall -pedantic @DEFS@ -DSWISH_VERSION=\"$(VERSION)\" $(XP_INC) @LIBXML2_CFLAGS@ @Z_CFLAGS@ $(cflags) |
102 |
|
|
LDFLAGS = $(ldflags) |
103 |
|
|
|
104 |
|
|
|
105 |
|
|
|
106 |
|
|
|
107 |
|
|
#.SUFFIXES: |
108 |
|
|
#.SUFFIXES : .o .c |
109 |
|
|
|
110 |
|
|
.c.o: |
111 |
|
|
$(CC) $(CFLAGS) -c -o $@ $< |
112 |
|
|
|
113 |
|
|
all: $(NAME) |
114 |
|
|
|
115 |
|
|
$(NAME): libswish-e.a $(SWISH_BINARY_OBJS) |
116 |
|
|
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(SWISH_BINARY_OBJS) libswish-e.a $(LIBS) |
117 |
|
|
chmod 755 $@ |
118 |
|
|
|
119 |
|
|
libswish-e.a: $(LIB_OBJS) |
120 |
|
|
$(AR) $(ARFLAGS) $@ $(LIB_OBJS) |
121 |
|
|
$(RANLIB) libswish-e.a |
122 |
|
|
|
123 |
|
|
swish-search: $(NAME) |
124 |
|
|
cp -f $(NAME) swish-search |
125 |
|
|
|
126 |
|
|
clean: |
127 |
|
|
rm -f ../tests/*.index ../tests/core core swish-e swish-search swish.o $(OBJS) libswish-e.a libtest.o |
128 |
|
|
|
129 |
|
|
realclean: clean |
130 |
|
|
rm Makefile |
131 |
|
|
rm -f config.cache config.log config.status |
132 |
|
|
|
133 |
|
|
test: $(NAME) |
134 |
|
|
@echo -e "\nCreating index..." |
135 |
|
|
@(cd ../tests; ../src/swish-e -c test.config) |
136 |
|
|
|
137 |
|
|
@echo -e "\n** Five (5) tests follow..." |
138 |
|
|
|
139 |
|
|
@echo -e "\ntest 1 (Normal search) ..." |
140 |
|
|
@(cd ../tests; ../src/swish-e -f ./test.index -w test | egrep '^[0-9]') |
141 |
|
|
|
142 |
|
|
@echo -e "\ntest 2 (MetaTag search 1) ..." |
143 |
|
|
@(cd ../tests; ../src/swish-e -f ./test.index -w meta1=metatest1 | egrep '^[0-9]') |
144 |
|
|
|
145 |
|
|
@echo -e "\ntest 3 (MetaTag search 2) ..." |
146 |
|
|
@(cd ../tests; ../src/swish-e -f ./test.index -w meta2=metatest2 | egrep '^[0-9]') |
147 |
|
|
|
148 |
|
|
@echo -e "\ntest 4 (XML search) ..." |
149 |
|
|
@(cd ../tests; ../src/swish-e -f ./test.index -w meta3=metatest3 | egrep '^[0-9]') |
150 |
|
|
|
151 |
|
|
@echo -e "\ntest 5 (Phrase search) ..." |
152 |
|
|
@(cd ../tests; ../src/swish-e -f ./test.index -w '"three little pigs"' | egrep '^[0-9]') |
153 |
|
|
|
154 |
|
|
@echo -e "\n ** All tests completed! **\n" |
155 |
|
|
|
156 |
|
|
|
157 |
|
|
$(LIB_OBJS): Makefile config.h swish.h |
158 |
|
|
|
159 |
|
|
install: |
160 |
|
|
cp swish-e $(bindir)/swish-e |
161 |
|
|
|
162 |
|
|
install-lib: |
163 |
|
|
cp libswish-e.a $(libdir)/libswish-e.a |
164 |
|
|
|
165 |
|
|
|
166 |
|
|
libtest: all libsearchswish-e.a libtest.o |
167 |
|
|
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) libtest.o libswish-e.a $(LIBS) |
168 |
|
|
chmod 755 $@ |
169 |
|
|
|
170 |
|
|
|
171 |
|
|
# Just for searching - some day. |
172 |
|
|
|
173 |
|
|
libsearchswish-e.a: $(SEARCH_LIB_OBJS) |
174 |
|
|
$(AR) $(ARFLAGS) $@ $(SEARCH_LIB_OBJS) |
175 |
|
|
$(RANLIB) libsearchswish-e.a |
176 |
|
|
|
177 |
|
|
|
178 |
|
|
libsearchtest: libsearchswish-e.a libtest.o |
179 |
|
|
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) libtest.o libsearchswish-e.a $(LIBS) |
180 |
|
|
chmod 755 $@ |
181 |
|
|
|
182 |
|
|
|
183 |
|
|
|
184 |
|
|
# |
185 |
|
|
# dependencies |
186 |
|
|
# |
187 |
|
|
*.o: *.h |
188 |
|
|
|
189 |
|
|
*.c: *.h |
190 |
|
|
|
191 |
|
|
$(XPDIR)/xmltok/*.o: $(XPDIR)/xmltok/*.h |
192 |
|
|
$(XPDIR)/xmlparse/*.o: $(XPDIR)/xmlparse/*.h |
193 |
|
|
|
194 |
|
|
|