# Top level make of the WAIS system
#   brewster 2/91
#   jonathan 6/91

# $Log:	Makefile-release,v $
# Revision 1.8  92/05/07  15:54:08  jonathan
# Updated for release.
# 
# Revision 1.7  92/03/26  18:29:59  jonathan
# Fixed some broken make lines.
# 
# Revision 1.6  92/03/07  19:45:01  jonathan
# Added recommendation for IBM.
# 
# Revision 1.5  92/02/27  10:07:24  jonathan
# got rid of automatic setting of TOP.  Used Simon's approach instead.
# 
# Revision 1.4  92/02/13  12:27:53  jonathan
# Removed references to seeker.
# 
# Revision 1.3  92/02/13  12:05:17  jonathan
# Removed release targets.
# 
# Revision 1.2  92/02/13  11:57:56  jonathan
# Added $Log for RCS.
# 
#
# common customizations:
# see the CFLAGS variable for pointers.
#
# to do:
# create the scripts, install the pointer to this version if it is the
# newest.

RELEASE = wais-8-b5

RM = /bin/rm -f
AR = ar

# on SGIs set this to true
RANLIB = ranlib

# on IBM RS6000 this should be c89.
CC = cc

# set this for your site.  This syntax only works in SunOS
# for other UNIX-like OS's set this to this directory.
#TOP:sh = pwd
# or fill in the blank for other OS's
#TOP = ?
comment-me:
	@echo You must set "\$$(TOP)" to point to the wais src directory

SUPDIR = $(TOP)/ir

# for old BSD add -DBSD
# for System V add -DSYSV 
# for XENIX add -M3e -Zi
# for a little better security in the server, add -DSECURE_SERVER
# this sets the server user id to -u argument after startup.
# for relevance feedaback in the search engine, add -DRELEVANCE_FEEDBACK
# USG for Unix Dirent in lib
# for SGIs running IRIX 4.0.1, add -cckr
CFLAGS = -g -I$(SUPDIR) -DSECURE_SERVER -DRELEVANCE_FEEDBACK -DUSG

MAKE = make -k 

default: config.h lib ir ui bin doc x tags
	@echo "Welcome to WAIS"

config.h: config
	./config >config.h

config: config.c
	$(CC) -o config config.c

lib::
	cd lib; $(MAKE) CC=$(CC) "CFLAGS=$(CFLAGS)" TOP=$(TOP)

ir::
	cd ir; $(MAKE) CC=$(CC) "CFLAGS=$(CFLAGS)" TOP=$(TOP) 

ui::
	cd ui; $(MAKE) CC=$(CC) "CFLAGS=$(CFLAGS)" TOP=$(TOP)

# ULTRIX doesn't have an env command, so this doesn't work.
# try going to the x directory and just doing a make -k
# you may have to edit the CFLAGS in the Makefile yourself.

x::
	cd x; (env TOP=$(TOP) CC=$(CC) "CFLAGS=$(CFLAGS)" "MAKE=$(MAKE)" ./makex.sh)

bin::
	cd bin; $(MAKE) CC=$(CC) "CFLAGS=$(CFLAGS)" TOP=$(TOP)

doc::
	cd doc; $(MAKE) CC=$(CC) "CFLAGS=$(CFLAGS)" TOP=$(TOP)

test::
	@echo $(MAKE) CC=$(CC) "CFLAGS=$(CFLAGS)" TOP=$(TOP)

# to make the emacs tags table for meta-.:
tags: 	
	etags -f TAGS ir/*.[ch]
	etags -af TAGS ui/*.[ch]
	etags -af TAGS x/*.[ch]

# Remove objects and library.
clean:
	$(RM) *~
	$(RM) \#*\#
	$(RM) core
	$(RM) TAGS
	$(RM) -r SearchLog
	$(RM) wais-sources/wais-docs*
	$(RM) config config.h
	cd lib; make $@
	cd ir; make $@
	cd ui; make  $@
	cd bin; make  $@
	cd doc; make  $@
	cd x; make $@

rlocks:
	$@
	cd lib; $@
	cd ir; $@
	cd ui;  $@
	cd bin;  $@
	cd doc;  $@
	cd x; $@
