1# Generated automatically from Makefile.in by configure.
2#################################################################
3## Makefile for Namazu
4## original of this file was made by Mr. Fumiyasu SATO. Thanks.
5
6##################################################################
7## System
8## select your system (UNIX or WIN32).
9
10SYSTEM		= WIN32
11
12##################################################################
13## Language
14## (ja or en).
15
16LANGUAGE	= ja
17
18
19##################################################################
20## Directories
21
22BASEDIR		= /usr/local
23CGIDIR		= $(BASEDIR)/etc/httpd/cgi-bin
24NAMAZUDIR	= $(BASEDIR)/namazu
25BINDIR_SYS	= $(BASEDIR)/bin  # install 'namazu' 'mknmz' command.
26BINDIR		= $(NAMAZUDIR)/bin
27INDEXDIR	= $(NAMAZUDIR)/index
28DOCDIR		= $(NAMAZUDIR)/doc
29LIBDIR		= $(NAMAZUDIR)/lib
30CONTRIBDIR	= $(NAMAZUDIR)/contrib
31
32##################################################################
33## Pathname of namazu.conf
34
35OPT_NAMAZU_CONF		= $(LIBDIR)/namazu.conf
36
37##################################################################
38## Programs' pathname
39## if you intend to use Namazu with Win32, you should describe
40## path by using \\\\ string for path separator.
41
42OPT_PATH_PERL		= /perl/bin/perl
43OPT_PATH_NKF		= nkf32
44OPT_PATH_KAKASI		= kakasi
45OPT_PATH_CHASEN		= chasen
46
47## Example for Win32
48#OPT_PATH_NKF		= c:\\\\usr\\\\local\\\\bin\\\\nkf32
49#OPT_PATH_KAKASI		= c:\\\\usr\\\\local\\\\bin\\\\kakasi
50
51##################################################################
52## Administrator's email address
53
54OPT_ADMIN_EMAIL		= webmaster@foobar.jp
55
56##################################################################
57## CGI-BIN directory
58## unimportant
59
60OPT_URL_CGIBIN	= /cgi-bin
61
62##################################################################
63## Pathname of Helper Programs
64##  * OPT_HELPER_ZCAT  :  program that expand compressed file
65##  * OPT_HELPER_MAN   :  program that format man file
66
67OPT_HELPER_ZCAT		= zcat
68OPT_HELPER_MAN		= groff -man -Tnippon
69
70##################################################################
71## Scoring method
72##   * SIMPLE :  score is simply calculated by term frequency
73##   * TFIDF  :  score is calculated by tfidf method
74##     (It's meaningful when query contains two or over keywords)
75
76SCORING		= TFIDF
77
78##################################################################
79## Target for Make
80##   * mknmz       :  Indexer
81##   * wdnmz       :  Program to print registered words
82##   * rvnmz       :  Program to reverse the byte order
83##   * clnmz       :  Program to convert URL in NMZ.f
84##   * vfnmz       :  Program to view NMZ.f as HTML with lynx
85##   * gcnmz       :  Program to collect garbage in NMZ.*
86##   * gtnmz       :  Program to check the number of total indexed files
87##   * mailutime   :  Program to modify file time stamp
88##   * documents   :  same as left description :-)
89##   * namazu.cgi  :  CGI     executable  (copy of namazu)
90##   * namazu      :  UNIX    executable
91##   * namazu.exe  :  Win32   executable  (copy of namazu)
92
93TARGET		= mknmz wdnmz rvnmz clnmz vfnmz mailutime gcnmz gtnmz\
94		  namazu.exe namazu.cgi
95
96##################################################################
97## Target Files
98## target file for indexing (case insensitive)
99## ("_default" is a file httpdown would generate.)
100## do *not* use '$' and '^' regular expression meta charactors.
101## that will be automatically appended by mknmz.pl.
102##
103## *CAUTION*: '\' -> '\\', '$' -> '$$'
104
105OPT_TARGET_FILE	= .*\\.html?|.*\\.txt|.*_default
106
107##################################################################
108## Deny Files
109## this regular expression describes the names of the files which
110## you do *not* want to index (case insensitive). this setting is
111## effective when mknmz runs with -a option.
112## do *not* use '$' and '^' regular expression meta charactor.
113## that will be automatically appended by mknmz.pl.
114##
115## *CAUTION*: '\' -> '\\', '$' -> '$$'
116
117OPT_DENY_FILE	= .*\\.gif|.*\\.(jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\\x23.*|NMZ\\..*
118
119##################################################################
120## Directory Index
121## name of the file or files which can be abbreviated.
122## (specify by regular expression)
123## e.g. index.html|index.htm|Default.html
124## it's useful to use Namazu as WWW search engine.
125## ("_default" would be made by httpdown)
126
127OPT_DEFAULT_FILE		= _default
128
129##################################################################
130## On Memory Max
131## max size of memory allocated by index process.
132## if you have much memory machine, you can increase this value
133## and indexing speed will improve.
134
135OPT_ON_MEMORY_MAX	= 5000000
136
137##################################################################
138## File Size Limitation
139## the file larger than this value may not allowed to be indexed.
140
141OPT_FILE_SIZE_LIMIT	= 600000
142
143##################################################################
144## Robots.txt
145OPT_HTDOCUMENT_ROOT	= /usr/local/apache/share/htdocs
146OPT_HTDOCUMENT_ROOT_URL_PREFIX	= http://www.foo.domain.jp/
147OPT_ROBOTS_EXCLUDE_URLS	= ''
148
149##################################################################
150## Japanese Processor
151##   * KAKASI       :  use KAKASI
152##   * CHASEN       :  use ChaSen
153##   * CHASEN_MORPH :  use ChaSen with morphological processing
154
155WAKATI		= KAKASI
156
157##################################################################
158## Defines
159##   * -DNOCONF        : no use namazu.conf
160
161DEFINES	= -DINDEXDIR=\"$(INDEXDIR)\" -DSCORING=$(SCORING) \
162	-D$(SYSTEM) -DOPT_NAMAZU_CONF=\"$(OPT_NAMAZU_CONF)\" \
163	-DLANGUAGE=\"$(LANGUAGE)\" -DMSIE4MACFIX
164
165##################################################################
166## General Set-up
167
168CC		= gcc -mno-cygwin
169DEFS		=  -DHAVE_LIBM=1 -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ALLOCA=1 -DHAVE_MEMMOVE=1
170AR		= ar cq
171DEPEND		= makedepend
172RANLIB		= ranlib
173RM		= rm -f
174ARCDIR		= ../ARC
175
176##################################################################
177## Flags
178## optimization option and etc.
179
180CFLAGS		= -O2 $(DEFINES) $(DEFS)  -Wall $(INCLUDES)
181LDFLAGS		= # -lm
182EXTRA_CFLAGS	=
183EXTRA_LDFLAGS	=
184INCLUDES	=
185
186##################################################################
187## Object Files
188
189SRCS	=	namazu.c codeconv.c messages.c parser.c cgi.c \
190		wakati.c conf.c hlist.c output.c search.c \
191		values.c form.c re_match.c regex.c util.c seed.c
192
193OBJS	=	${SRCS:.c=.o}
194
195##################################################################
196
197.c.o:
198	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $*.c
199
200all:	$(TARGET)
201
202mknmz: mknmz.pl
203	rm -f $@
204	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
205	    -e 's!%OPT_SYSTEM%!$(SYSTEM)!g' \
206	    -e 's!%OPT_PATH_NKF%!$(OPT_PATH_NKF)!g' \
207	    -e 's!%OPT_PATH_KAKASI%!$(OPT_PATH_KAKASI)!g' \
208	    -e 's!%OPT_PATH_CHASEN%!$(OPT_PATH_CHASEN)!g' \
209	    -e 's!%OPT_HELPER_ZCAT%!$(OPT_HELPER_ZCAT)!g' \
210	    -e 's!%OPT_HELPER_MAN%!$(OPT_HELPER_MAN)!g' \
211	    -e 's!%OPT_WAKATI_DEFAULT%!$(WAKATI)!g' \
212	    -e 's!%OPT_ADMIN_EMAIL%!$(OPT_ADMIN_EMAIL)!g' \
213	    -e 's!%OPT_ADMIN_NAME%!$(OPT_ADMIN_NAME)!g' \
214	    -e 's!%OPT_URL_CGIBIN%!$(OPT_URL_CGIBIN)!g' \
215	    -e 's!%OPT_TARGET_FILE%!$(OPT_TARGET_FILE)!g' \
216	    -e 's!%OPT_DENY_FILE%!$(OPT_DENY_FILE)!g' \
217	    -e 's!%OPT_DEFAULT_FILE%!$(OPT_DEFAULT_FILE)!g' \
218	    -e 's!%OPT_ON_MEMORY_MAX%!$(OPT_ON_MEMORY_MAX)!g' \
219	    -e 's!%OPT_FILE_SIZE_LIMIT%!$(OPT_FILE_SIZE_LIMIT)!g' \
220	    -e 's!%OPT_LIBDIR%!$(LIBDIR)!g' \
221	    -e 's!%OPT_LANGUAGE%!$(LANGUAGE)!g' \
222	    -e 's!%OPT_HTDOCUMENT_ROOT%!$(OPT_HTDOCUMENT_ROOT)!g' \
223	    -e 's!%OPT_HTDOCUMENT_ROOT_URL_PREFIX%!$(OPT_HTDOCUMENT_ROOT_URL_PREFIX)!g' \
224	    -e 's!%OPT_ROBOTS_EXCLUDE_URLS%!$(OPT_ROBOTS_EXCLUDE_URLS)!g' \
225	    -e 's!namazu.cgi!namazu.exe!g' \
226	    mknmz.pl > $@
227	chmod +x $@
228
229wdnmz: wdnmz.pl
230	rm -f $@
231	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
232	    -e 's!%OPT_SYSTEM%!$(SYSTEM)!g' \
233	    -e 's!%OPT_PATH_NKF%!$(OPT_PATH_NKF)!g' \
234	    wdnmz.pl > $@
235	chmod +x $@
236
237vfnmz: vfnmz.pl
238	rm -f $@
239	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
240	    -e 's!%OPT_SYSTEM%!$(SYSTEM)!g' \
241	    -e 's!%OPT_PATH_NKF%!$(OPT_PATH_NKF)!g' \
242	    vfnmz.pl > $@
243	chmod +x $@
244
245gcnmz: gcnmz.pl
246	rm -f $@
247	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
248	    gcnmz.pl > $@
249	chmod +x $@
250
251gtnmz: gtnmz.pl
252	rm -f $@
253	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
254	    gtnmz.pl > $@
255	chmod +x $@
256
257mailutime: mailutime.pl
258	rm -f $@
259	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
260	    mailutime.pl > $@
261	chmod +x $@
262
263clnmz: clnmz.pl
264	rm -f $@
265	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
266	    -e 's!%OPT_SYSTEM%!$(SYSTEM)!g' \
267	    -e 's!%OPT_PATH_NKF%!$(OPT_PATH_NKF)!g' \
268	    clnmz.pl > $@
269	chmod +x $@
270
271rvnmz: rvnmz.pl
272	rm -f $@
273	sed -e 's!%OPT_PATH_PERL%!$(OPT_PATH_PERL)!g' \
274	    -e 's!%OPT_SYSTEM%!$(SYSTEM)!g' \
275	    -e 's!%OPT_PATH_NKF%!$(OPT_PATH_NKF)!g' \
276	    rvnmz.pl > $@
277	chmod +x $@
278
279namazu: $(OBJS)
280	$(CC) $(OBJS) $(LDFLAGS) $(EXTRA_LDFLAGS)-o $@
281
282namazu.cgi: namazu
283	cp namazu.exe namazu.cgi
284
285namazu.exe: namazu
286##	cp namazu namazu.exe
287
288install_cgi: all
289	if [ ! -d $(CGIDIR) ]; then \
290	    mkdir -p $(CGIDIR); \
291	fi
292	cp namazu.cgi $(CGIDIR)
293
294install: all
295	if [ ! -d $(BINDIR) ]; then \
296	    mkdir -p $(BINDIR); \
297	fi
298	if [ ! -d $(INDEXDIR) ]; then \
299	    mkdir -p $(INDEXDIR); \
300	fi
301	if [ ! -d "$(DOCDIR)/ja" ]; then \
302	    mkdir -p "$(DOCDIR)/ja"; \
303	fi
304	if [ ! -d "$(DOCDIR)/en" ]; then \
305	    mkdir -p "$(DOCDIR)/en"; \
306	fi
307	if [ ! -d $(LIBDIR) ]; then \
308	    mkdir -p $(LIBDIR); \
309	fi
310	if [ ! -d $(CONTRIBDIR) ]; then \
311	    mkdir -p $(CONTRIBDIR); \
312	fi
313	if [ ! -d $(BINDIR_SYS) ]; then \
314	    mkdir -p $(BINDIR_SYS); \
315	fi
316	cp mknmz wdnmz rvnmz clnmz namazu.exe vfnmz mailutime gcnmz gtnmz $(BINDIR)
317	cp ../COPYING ../ToDo ../ChangeLog $(DOCDIR)
318	cp ../README.ja ../doc/ja/* "$(DOCDIR)/ja"
319	cp ../README.en ../doc/en/* "$(DOCDIR)/en"
320	nkf32 -O -c -s ../lib/namazu.conf-dist
321	mv nkf.out ../lib/namazu.conf-dist
322	cp ../lib/* $(LIBDIR)
323	nkf32 -O -d -e ../lib/namazu.conf-dist
324	mv nkf.out ../lib/namazu.conf-dist
325	cp ../contrib/* $(CONTRIBDIR)
326	cp namazu.exe mknmz $(BINDIR_SYS)
327	touch $(INDEXDIR)/dummy
328
329clean:
330	$(RM) $(TARGET) *.o config.cache config.log config.status
331
332cleanall: clean
333	#$(DEPEND) -- --
334	$(RM) Makefile.bak
335
336depend:
337#	$(DEPEND) -- $(CFLAGS) -- $(SRCS)
338
339tar:
340	$(MAKE) cleanall
341	(ARCHIVE=`pwd|sed 's@[^/]*/@@g'`; \
342	    ( \
343		cd ..; \
344		tar cf - $${ARCHIVE}/* | \
345		gzip -c \
346	    ) > ${ARCDIR}/$${ARCHIVE}.tar.gz \
347	)
348
349