#
#	Configurable Part.
#
#	Choice of Compiler.
CC	= cc
#CC 	= gcc
#
#	Where to put the programs
#
SERVBINDIR  = /usr/local/etc
BINDIR  = /home/john/bin
LIBDIR = /usr/local/etc

#
#	Compiler Flags (-I.. *MUST* be included)
#
INCLUDES= -I.. -I../gn
# For Linux use
# INCLUDES= -I.. -I../gn  -I/usr/include/bsd

CFLAGS 	=  $(INCLUDES)    # -DSYSV
# Uncomment -DSYSV above for SYSV systems

#
#	Libraries to be included.
#
LIBS	= 
#Use this with SysV
#LIBS	= -lsocket -lc

#For UnixWare SVR4.2 use
#LIBS	= -lsocket -lnsl -lc

#For Linux use
#LIBS	= -lbsd

#
#	install program. SysV without GNU Utils - use cp
#
#INSTALL	= cp
INSTALL	= /usr/bin/install -c
INSTALL_STRIP = /usr/bin/install -c -s


all: 		gn mkcache uncache waisgn sgn
install:	inst-gn inst-mkcache inst-uncache
gn:		gn/gn
sgn:		gn/sgn
mkcache:	mkcache/mkcache
uncache:	uncache/uncache
waisgn:		waisgn/waisgn

gn/gn:	config.h 
	@echo "Making gn"
	(cd gn; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \
		INSTALL="$(INSTALL_STRIP)" BINDIR="$(SERVBINDIR)" )
	
gn/sgn:	config.h 
	@echo "Making sgn"
	(cd gn; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \
		INSTALL="$(INSTALL_STRIP)" BINDIR="$(SERVBINDIR)" sgn )
	
mkcache/mkcache: config.h
	@echo "Making mkcache"
	(cd mkcache; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \
		INSTALL="$(INSTALL)" BINDIR="$(BINDIR)" )
	
uncache/uncache: config.h
	@echo "Making uncache"
	(cd uncache; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \
		INSTALL="$(INSTALL)" BINDIR="$(BINDIR)")

waisgn/waisgn: config.h
	@echo "Making waisgn"
	@if [ -d waisgn/ir ] ; then \
		(cd waisgn; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)"\
		LIBS="$(LIBS) -lm" INSTALL="$(INSTALL_STRIP)" BINDIR="$(BINDIR)") \
	else (echo "Skipping waisgn: link waisgn/ir not installed") \
	fi

inst-gn:
	@echo "Installing gn"
	(cd gn; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \
		INSTALL="$(INSTALL)" BINDIR="$(SERVBINDIR)" install )
	touch inst-gn

inst-mkcache:
	@echo "Installing mkcache"
	(cd mkcache; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \
		INSTALL="$(INSTALL)" BINDIR="$(BINDIR)" install )
	@echo "Installing Mime type file"
	(cd mkcache; $(INSTALL) -m 644 ./gn_mime.types $(LIBDIR))
	touch inst-mkcache

inst-uncache:
	@echo "Installing uncache"
	(cd uncache; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \
		INSTALL="$(INSTALL)" BINDIR="$(BINDIR)" install )
	touch inst-uncache

inst-waisgn:
	@echo "Installing waisgn"
	@if [ -d waisgn/ir ] ; then \
		(cd waisgn; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" \
		LIBS="$(LIBS) -lm" INSTALL="$(INSTALL)" \
		BINDIR="$(SERVBINDIR)" install ) \
	else (echo "Skipping waisgn: link waisgn/ir not installed") \
	fi
	touch inst-waisgn
clean:
	@echo "Cleaning in gn"
	(cd gn ; $(MAKE) clean)
	@echo "Cleaning in mkcache"
	(cd mkcache ; $(MAKE) clean)
	@echo "Cleaning in uncache"
	(cd uncache ; $(MAKE) clean)	
	@echo "Cleaning in waisgn"
	(cd waisgn; $(MAKE) clean)	
	rm -f inst-gn inst-mkcache inst-uncache inst-waisgn *~ docs/*~



