
# $Id: Makefile,v 1.5 97/05/22 16:03:17 abe Exp $

PROG=	lsof

BIN=	${DESTDIR}

DOC=	${DESTDIR}

I=/usr/include
S=/usr/include/sys
L=/usr/include/local
P=

CDEF=
CDEFS=  ${CDEF} ${CFGF}
INCL=	${DINC}
CFLAGS= ${DEBUG} ${CDEFS} ${INCL}

GRP=

HDR=    lsof.h lsof_fields.h dlsof.h machine.h proto.h dproto.h

MODE=	2755

OWN=	bin

SRC=    ddev.c dfile.c dmnt.c dnode.c \
	dproc.c dsock.c dstore.c \
	arg.c main.c misc.c node.c print.c proc.c store.c

OBJ=	ddev.o dfile.o dmnt.o dnode.o \
	dproc.o dsock.o dstore.o \
	arg.o main.o misc.o node.o print.o proc.o store.o

MAN=	lsof.man
MANLCL=	lsof.LOCAL

OTHER=	

SHELL=	/bin/sh

SOURCE=	Makefile ${OTHER} ${MAN} ${HDR} ${SRC}

all: ${PROG}

${MANLCL}: ${MAN}
	rm -f ${MANLCL}
	cp ${MAN} ${MANLCL}

${PROG}: ${LIB} ${P} ${OBJ}
	${CC} -o $@ ${CFLAGS} ${OBJ} ${CFGL}

clean: FRC
	rm -f Makefile.bak ${PROG} a.out core errs lint.out tags *.o version.h ${MANLCL}
	rm -f machine.h.old new_machine.h
	(cd lib; ${MAKE} -f Makefile.skel clean)

install: all ${MANLCL} FRC
	@echo ''
	@echo 'Please write your own install rule.  Lsof should be installed'
	@echo 'setgid to the group that can can read /dev/kmem.  Normally'
	@echo 'that is the mem group.  Your install rule actions might look'
	@echo 'something like this:'
	@echo ''
	@echo '    strip $${PROG}'
	@echo '    mcs -d $${PROG}'
	@echo '    /etc/install -o -m <modes> -u <owner> -g <group> -f $${BIN} $${PROG}'
	@echo '    /etc/install -o -m 444 -f $${DOC} $${MANLCL}'
	@echo ''
	@echo 'You will have to set values for  <modes>, <owner> and <group>,'
	@echo 'and complete the skeletons for the BIN and DOC strings given'
	@echo 'at the beginning of this Makefile, e.g.,'
	@echo ''
	@echo '    BIN= $${DESTDIR}/usr/local/etc'
	@echo '    DOC= $${DESTDIR}/usr/man/man8'
	@echo ''

${LIB}: FRC
	(cd lib; ${MAKE} DEBUG="${DEBUG}")

version.h:	FRC
	@echo Constructing version.h
	@rm -f version.h
	@sed '/VN/s/.ds VN \(.*\)/#define	LSOF_VERSION	"\1"/' < version > version.h
	@echo '#define	LSOF_CC		"${CC}"' >> version.h
	@echo '#define	LSOF_CCV	"${CCV}"' >> version.h
	@echo '#define	LSOF_CCDATE	"'`date`'"' >> version.h
	@echo '#define	LSOF_CCFLAGS	"${CFLAGS}"' >> version.h
	@echo '#define	LSOF_LDFLAGS	"${CFGL}"' >> version.h
	@echo '#define	LSOF_LOGNAME	"${LOGNAME}"' >> version.h
	@echo '#define	LSOF_HOST	"'`uname -n`'"' >> version.h
	@echo '#define	LSOF_SYSINFO	"'`uname -X`'"' >> version.h
	@echo '#define	LSOF_USER	"${USER}"' >> version.h

FRC:

# DO NOT DELETE THIS LINE - make depend DEPENDS ON IT

ddev.o:		${HDR} ddev.c

dfile.o:	${HDR} dfile.c

dmnt.o:		${HDR} dmnt.c

dnode.o:	${HDR} dnode.c

dproc.o:	${HDR} dproc.c

dsock.o:	${HDR} dsock.c

dstore.o:	${HDR} dstore.c

arg.o:		${HDR} version.h arg.c

main.o:		${HDR} main.c

misc.o:		${HDR} misc.c

node.o:		${HDR} node.c

print.o:	${HDR} print.c

proc.o:		${HDR} proc.c

store.o:	${HDR} store.c

# *** Do not add anything here - It will go away. ***
