2 # Darwin libproc-based lsof Makefile
4 # $Id: Makefile,v 1.7 2009/03/25 19:21:37 abe Exp $
8 BIN= ${DSTROOT}/usr/sbin
10 DOC= ${DSTROOT}/usr/share/man/man8
18 CDEFS= ${CDEF} ${CFGF}
20 override CFLAGS= ${CDEFS} ${INCL} ${DEBUG}
24 HDR= lsof.h lsof_fields.h dlsof.h machine.h proto.h dproto.h
26 SRC= ddev.c dfile.c dmnt.c dproc.c dsock.c dstore.c \
27 arg.c main.c misc.c node.c print.c proc.c store.c usage.c util.c
29 OBJ= ddev.o dfile.o dmnt.o dproc.o dsock.o dstore.o \
30 arg.o main.o misc.o node.o print.o proc.o store.o usage.o util.o
38 SOURCE= Makefile ${OTHER} ${MAN} ${HDR} ${SRC}
42 ${PROG}: ${LIB} ${P} ${OBJ}
43 ${CC} -o $@ ${CFLAGS} ${OBJ} ${CFGL}
46 rm -f Makefile.bak ${PROG} a.out core errs lint.out tags *.o version.h
47 rm -f machine.h.old new_machine.h
48 (cd lib; ${MAKE} -f Makefile.skel clean)
50 install-strip: all FRC
51 @if [ -n "${SYMROOT}" ]; then \
52 mkdir -p ${SYMROOT}; \
53 cp -p ${PROG} ${SYMROOT}/${PROG}; \
56 install -c -s -m 755 -g ${GRP} ${PROG} ${BIN}
58 install -c -m 444 ${MAN} ${DOC}
62 @echo 'Please write your own install rule. Lsof for Darwin below 8'
63 @echo 'should be installed setgid to the group that has permission'
64 @echo 'to read /dev/kmem, often kmem or sys. Lsof for Darwin 8 and'
65 @echo 'above should be installed setuid-root. Your install rule'
66 @echo 'actions for Darwin below 8 might look something like this:'
68 @echo ' install -m 2xxx -g $${GRP} $${PROG} $${BIN}'
69 @echo ' install -m 444 $${MAN} $${DOC}'
71 @echo 'Your install rule actions for Darwin 8 and above might look'
72 @echo 'something like this:'
74 @echo ' install -m 4xxx -o root $${PROG} $${BIN}'
75 @echo ' install -m 444 $${MAN} $${DOC}'
77 @echo 'You will have to complete the xxx modes, the GRP value, and'
78 @echo 'the skeletons for the BIN and DOC strings, given at the'
79 @echo 'beginning of this Makefile, e.g.,'
81 @echo ' BIN= $${DESTDIR}/usr/local/etc'
82 @echo ' DOC= $${DESTDIR}/usr/man/man8'
87 (cd lib; ${MAKE} DEBUG="${DEBUG}" CFGF="${CFGF}")
90 @echo Constructing version.h
92 @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
93 @echo '#define LSOF_CC "${CC}"' >> version.h
94 @echo '#define LSOF_CCV "${CCV}"' >> version.h
95 @echo '#define LSOF_CCDATE "'`date`'"' >> version.h
96 @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
97 @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
98 @if [ "X${LSOF_HOST}" = "X" ]; then \
99 echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
101 if [ "${LSOF_HOST}" = "none" ]; then \
102 echo '#define LSOF_HOST ""' >> version.h; \
104 echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
107 @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
108 @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
109 echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
111 if [ "${LSOF_LOGNAME}" = "none" ]; then \
112 echo '#define LSOF_LOGNAME ""' >> version.h; \
114 echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
117 @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
118 echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
120 if [ "${LSOF_SYSINFO}" = "none" ]; then \
121 echo '#define LSOF_SYSINFO ""' >> version.h; \
123 echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
126 @if [ "X${LSOF_USER}" = "X" ]; then \
127 echo '#define LSOF_USER "${USER}"' >> version.h; \
129 if [ "${LSOF_USER}" = "none" ]; then \
130 echo '#define LSOF_USER ""' >> version.h; \
132 echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
135 @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
139 # DO NOT DELETE THIS LINE - make depend DEPENDS ON IT
141 ddev.o: ${HDR} ddev.c
143 dfile.o: ${HDR} dfile.c
145 dmnt.o: ${HDR} dmnt.c
147 dproc.o: ${HDR} dproc.c
149 dsock.o: ${HDR} dsock.c
151 dstore.o: ${HDR} dstore.c
155 main.o: ${HDR} main.c
157 misc.o: ${HDR} misc.c
159 node.o: ${HDR} node.c
161 print.o: ${HDR} print.c
163 proc.o: ${HDR} proc.c
165 store.o: ${HDR} store.c
167 usage.o: ${HDR} version.h usage.c
169 util.o: ${HDR} util.c
171 # *** Do not add anything here - It will go away. ***