1 2# Darwin libproc-based lsof Makefile 3# 4# $Id: Makefile,v 1.7 2009/03/25 19:21:37 abe Exp $ 5 6PROG= lsof 7 8BIN= ${DSTROOT}/usr/sbin 9 10DOC= ${DSTROOT}/usr/share/man/man8 11 12DS= /usr/bin/dsymutil 13 14I=/usr/include 15S=/usr/include/sys 16L=/usr/include/local 17P= 18 19CDEF= ${RC_CFLAGS} 20CDEFS= ${CDEF} ${CFGF} 21INCL= ${DINC} 22override CFLAGS= ${CDEFS} ${INCL} ${DEBUG} 23 24GRP= wheel 25 26HDR= lsof.h lsof_fields.h dlsof.h machine.h proto.h dproto.h 27 28SRC= ddev.c dfile.c dmnt.c dproc.c dsock.c dstore.c \ 29 arg.c main.c misc.c node.c print.c proc.c store.c usage.c util.c 30 31OBJ= ddev.o dfile.o dmnt.o dproc.o dsock.o dstore.o \ 32 arg.o main.o misc.o node.o print.o proc.o store.o usage.o util.o 33 34MAN= lsof.8 35 36OTHER= 37 38SHELL= /bin/sh 39 40SOURCE= Makefile ${OTHER} ${MAN} ${HDR} ${SRC} 41 42all: ${PROG} 43 44${PROG}: ${LIB} ${P} ${OBJ} 45 ${CC} -o $@ ${CFLAGS} ${OBJ} ${CFGL} 46 47clean: FRC 48 rm -f Makefile.bak ${PROG} a.out core errs lint.out tags *.o version.h 49 rm -f machine.h.old new_machine.h 50 (cd lib; ${MAKE} -f Makefile.skel clean) 51 52install-strip: all FRC 53 if [ -n "${SYMROOT}" ]; then \ 54 mkdir -p ${SYMROOT}; \ 55 cp -p ${PROG} ${SYMROOT}/${PROG}; \ 56 if [ -x "${DS}" ]; then \ 57 ${DS} -o ${SYMROOT}/${PROG}.dSYM ${SYMROOT}/${PROG}; \ 58 fi \ 59 fi 60 mkdir -p ${BIN} 61 install -c -s -m 755 -g ${GRP} ${PROG} ${BIN} 62 mkdir -p ${DOC} 63 install -c -m 444 ${MAN} ${DOC} 64 65install: all FRC 66 @echo '' 67 @echo 'Please write your own install rule. Lsof for Darwin below 8' 68 @echo 'should be installed setgid to the group that has permission' 69 @echo 'to read /dev/kmem, often kmem or sys. Lsof for Darwin 8 and' 70 @echo 'above should be installed setuid-root. Your install rule' 71 @echo 'actions for Darwin below 8 might look something like this:' 72 @echo '' 73 @echo ' install -m 2xxx -g $${GRP} $${PROG} $${BIN}' 74 @echo ' install -m 444 $${MAN} $${DOC}' 75 @echo '' 76 @echo 'Your install rule actions for Darwin 8 and above might look' 77 @echo 'something like this:' 78 @echo '' 79 @echo ' install -m 4xxx -o root $${PROG} $${BIN}' 80 @echo ' install -m 444 $${MAN} $${DOC}' 81 @echo '' 82 @echo 'You will have to complete the xxx modes, the GRP value, and' 83 @echo 'the skeletons for the BIN and DOC strings, given at the' 84 @echo 'beginning of this Makefile, e.g.,' 85 @echo '' 86 @echo ' BIN= $${DESTDIR}/usr/local/etc' 87 @echo ' DOC= $${DESTDIR}/usr/man/man8' 88 @echo ' GRP= kmem' 89 @echo '' 90 91${LIB}: FRC 92 (cd lib; ${MAKE} DEBUG="${DEBUG}" CFGF="${CFGF}") 93 94version.h: FRC 95 @echo Constructing version.h 96 @rm -f version.h 97 @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h; 98 @echo '#define LSOF_CC "${CC}"' >> version.h 99 @echo '#define LSOF_CCV "${CCV}"' >> version.h 100 @echo '#define LSOF_CCDATE "'`date`'"' >> version.h 101 @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h 102 @echo '#define LSOF_CINFO "${CINFO}"' >> version.h 103 @if [ "X${LSOF_HOST}" = "X" ]; then \ 104 echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \ 105 else \ 106 if [ "${LSOF_HOST}" = "none" ]; then \ 107 echo '#define LSOF_HOST ""' >> version.h; \ 108 else \ 109 echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \ 110 fi \ 111 fi 112 @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h 113 @if [ "X${LSOF_LOGNAME}" = "X" ]; then \ 114 echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \ 115 else \ 116 if [ "${LSOF_LOGNAME}" = "none" ]; then \ 117 echo '#define LSOF_LOGNAME ""' >> version.h; \ 118 else \ 119 echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \ 120 fi; \ 121 fi 122 @if [ "X${LSOF_SYSINFO}" = "X" ]; then \ 123 echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \ 124 else \ 125 if [ "${LSOF_SYSINFO}" = "none" ]; then \ 126 echo '#define LSOF_SYSINFO ""' >> version.h; \ 127 else \ 128 echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \ 129 fi \ 130 fi 131 @if [ "X${LSOF_USER}" = "X" ]; then \ 132 echo '#define LSOF_USER "${USER}"' >> version.h; \ 133 else \ 134 if [ "${LSOF_USER}" = "none" ]; then \ 135 echo '#define LSOF_USER ""' >> version.h; \ 136 else \ 137 echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \ 138 fi \ 139 fi 140 @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h 141 142FRC: 143 144# DO NOT DELETE THIS LINE - make depend DEPENDS ON IT 145 146ddev.o: ${HDR} ddev.c 147 148dfile.o: ${HDR} dfile.c 149 150dmnt.o: ${HDR} dmnt.c 151 152dproc.o: ${HDR} dproc.c 153 154dsock.o: ${HDR} dsock.c 155 156dstore.o: ${HDR} dstore.c 157 158arg.o: ${HDR} arg.c 159 160main.o: ${HDR} main.c 161 162misc.o: ${HDR} misc.c 163 164node.o: ${HDR} node.c 165 166print.o: ${HDR} print.c 167 168proc.o: ${HDR} proc.c 169 170store.o: ${HDR} store.c 171 172usage.o: ${HDR} version.h usage.c 173 174util.o: ${HDR} util.c 175 176# *** Do not add anything here - It will go away. *** 177