#
# $Header: /home/harbor/davy/system/nfswatch/RCS/Makefile,v 4.0 1993/03/01 19:59:00 davy Exp $
#
# Makefile for nfswatch.
#
# David A. Curry				Jeffrey C. Mogul
# Purdue University				Digital Equipment Corporation
# Engineering Computer Network			Western Research Laboratory
# 1285 Electrical Engineering Building		250 University Avenue
# West Lafayette, IN 47907-1285			Palo Alto, CA 94301
# davy@ecn.purdue.edu				mogul@decwrl.dec.com
#
# $Log: Makefile,v $
# Revision 4.0  1993/03/01  19:59:00  davy
# NFSWATCH Version 4.0.
#
# Revision 3.10  1993/02/24  17:44:45  davy
# Added -auth mode, changes to -proc mode, -map option, -server option.
#
# Revision 3.9  1993/01/18  20:01:07  davy
# Minor changes from Jeff.
#
# Revision 3.8  1993/01/16  19:53:52  davy
# New way of handling multiple os's, courtesy of Jeff.
#
# Revision 3.7  1993/01/16  19:08:59  davy
# Corrected Jeff's address.
#
# Revision 3.6  1993/01/15  19:33:39  davy
# Miscellaneous cleanups.
#
# Revision 3.5  1993/01/15  15:47:52  davy
# Added a "SHELL=" line for brain-dead SGI make.
#
# Revision 3.4  1993/01/13  21:41:24  davy
# No default for the OS macro; made it check.
#
# Revision 3.3  1993/01/13  21:24:00  davy
# Added IRIX40 as another option.
#
# Revision 3.2  1993/01/13  20:18:17  davy
# Put in OS-specific define scheme, and merged in Tim Hudson's code for
# SGI systems (as yet untested).
#
# Revision 3.1  1992/07/28  13:00:39  mogul
# Fixed man installation rules
#
# Revision 3.0  91/01/23  08:22:54  davy
# NFSWATCH Version 3.0.
# 
# Revision 1.2  90/08/17  15:46:32  davy
# NFSWATCH Version 2.0.
# 
# Revision 1.1  88/11/29  11:20:24  davy
# NFSWATCH Release 1.0
# 
#

#
# Choose an appropriate value for "OS" from the ones below:
#
#	IRIX40		Silicon Graphics IRIX 4.0
#	SUNOS4		Sun Microsystems SunOS 4.x
#	SUNOS5		Sun Microsystems SunOS 5.x (Solaris 2.x)
#	SVR4		AT&T System V Release 4
#	ULTRIX		Digital Equipment Ultrix 4.x
#
OS=

#
# Set BINDIR, MANDIR, and MANSUF to appropriate values for your system.
#
DESTDIR=
BINDIR=	/usr/local/etc
MANDIR=	/usr/man/manl
MANSUF=	l

IRIX40CFLAGS=	-DIRIX40 -O -cckr
SUNOS4CFLAGS=	-DSUNOS4 -O
SUNOS5CFLAGS=	-DSUNOS5 -O
SVR4CFLAGS=	-DSVR4 -O
ULTRIXCFLAGS=	-DULTRIX -O

IRIX40LIBS=	-lcurses -ltermcap -lsun -lm
SUNOS4LIBS=	-lcurses -ltermcap -lm
SUNOS5LIBS=	-lcurses -lnsl -lsocket -lm
SVR4LIBS=	-lcurses -lnsl -lsocket -lm
ULTRIXLIBS=	-lcurses -ltermcap -lm

CFLAGS=
LIBS=

PRINT=	enscript -r -G
SHELL=	/bin/sh

HDRS=	externs.h nfswatch.h rpcdefs.h screen.h
SRCS=	dlpi.c logfile.c netaddr.c nfswatch.c nit.c pfilt.c pktfilter.c \
	rpcfilter.c rpcutil.c screen.c snoop.c util.c xdr.c nfslogsum.c
OBJS=	dlpi.o logfile.o netaddr.o nfswatch.o nit.o pfilt.o pktfilter.o \
	rpcfilter.o rpcutil.o screen.o snoop.o util.o xdr.o

all: os-nfswatch os-nfslogsum

os-nfswatch:
	@if [ "$(OS)" = "" ]; then \
	    OS=`uname -s -r`; \
	fi; \
	case "$$OS" in \
	IRIX40|IRIX\ 4*) \
	    make CFLAGS="$(IRIX40CFLAGS)" LIBS="$(IRIX40LIBS)" nfswatch; \
	    ;; \
	SUNOS4|SunOS\ 4*) \
	    make CFLAGS="$(SUNOS4CFLAGS)" LIBS="$(SUNOS4LIBS)" nfswatch; \
	    ;; \
	SUNOS5|SunOS\ 5*) \
	    make CFLAGS="$(SUNOS5CFLAGS)" LIBS="$(SUNOS5LIBS)" nfswatch; \
	    ;; \
	SVR4|System\ V\ Release\ 4*) \
	    make CFLAGS="$(SVR4CFLAGS)" LIBS="$(SVR4LIBS)" nfswatch; \
	    ;; \
	ULTRIX\ *|Ultrix\ *|ultrix\ *) \
	    make CFLAGS="$(ULTRIXCFLAGS)" LIBS="$(ULTRIXLIBS)" nfswatch; \
	    ;; \
	*) \
	    echo "OS=$$OS is not a supported operating system."; \
	    exit 1; \
	    ;; \
	esac

os-nfslogsum:
	@if [ "$(OS)" = "" ]; then \
	    OS=`uname -s -r`; \
	fi; \
	case "$$OS" in \
	IRIX40|IRIX\ 4*) \
	    make CFLAGS="$(IRIX40CFLAGS)" LIBS="$(IRIX40LIBS)" nfslogsum; \
	    ;; \
	SUNOS4|SunOS\ 4*) \
	    make CFLAGS="$(SUNOS4CFLAGS)" LIBS="$(SUNOS4LIBS)" nfslogsum; \
	    ;; \
	SUNOS5|SunOS\ 5*) \
	    make CFLAGS="$(SUNOS5CFLAGS)" LIBS="$(SUNOS5LIBS)" nfslogsum; \
	    ;; \
	SVR4|System\ V\ Release\ 4*) \
	    make CFLAGS="$(SVR4CFLAGS)" LIBS="$(SVR4LIBS)" nfslogsum; \
	    ;; \
	ULTRIX\ *|Ultrix\ *|ultrix\ *) \
	    make CFLAGS="$(ULTRIXCFLAGS)" LIBS="$(ULTRIXLIBS)" nfslogsum; \
	    ;; \
	*) \
	    echo "OS=$$OS is not a supported operating system."; \
	    exit 1; \
	    ;; \
	esac

nfswatch: nfswatch.o $(OBJS)
	$(CC) -o nfswatch $(OBJS) $(LIBS)

nfslogsum: nfslogsum.o
	$(CC) -o nfslogsum nfslogsum.o

install: all
	install -c -s -o root -g staff -m 4750 nfswatch $(DESTDIR)$(BINDIR)
	install -c -s nfslogsum $(DESTDIR)$(BINDIR)

maninstall: nfswatch-man nfslogsum-man

nfswatch-man: $(DESTDIR)$(MANDIR)/nfswatch.$(MANSUF)

$(DESTDIR)$(MANDIR)/nfswatch.$(MANSUF): nfswatch.8l
	install -c nfswatch.8l $(DESTDIR)$(MANDIR)/nfswatch.$(MANSUF)

nfslogsum-man: $(DESTDIR)$(MANDIR)/nfslogsum.$(MANSUF)

$(DESTDIR)$(MANDIR)/nfslogsum.$(MANSUF): nfslogsum.8l
	install -c nfslogsum.8l $(DESTDIR)$(MANDIR)/nfslogsum.$(MANSUF)

print:
	$(PRINT) Makefile $(HDRS) $(SRCS)

clean:
	rm -f \#* a.out core nfswatch nfslogsum nfslogsum.o $(OBJS)
	rm -f *.BAK *.CKP

dlpi.o:		dlpi.c nfswatch.h externs.h os.h
logfile.o:	logfile.c nfswatch.h externs.h screen.h os.h
netaddr.o:	netaddr.c nfswatch.h externs.h os.h
nfslogsum.o:	nfslogsum.c nfswatch.h os.h
nfswatch.o:	nfswatch.c nfswatch.h os.h
nit.o:		nit.c nfswatch.h externs.h os.h
pfilt.o:	pfilt.c nfswatch.h externs.h os.h
pktfilter.o:	pktfilter.c nfswatch.h externs.h os.h
rpcfilter.o:	rpcfilter.c nfswatch.h externs.h rpcdefs.h os.h
rpcutil.o:	rpcutil.c nfswatch.h externs.h rpcdefs.h os.h
screen.o:	screen.c nfswatch.h externs.h screen.h os.h
snoop.o:	snoop.c nfswatch.h externs.h os.h
util.o:		util.c nfswatch.h externs.h screen.h os.h
xdr.o:		xdr.c nfswatch.h os.h
