bda26232f7dd3a64a068a7caa165d431f914db96
[platform/upstream/lsof.git] / dialects / darwin / libproc / Makefile
1
2 # Darwin libproc-based lsof Makefile
3 #
4 # $Id: Makefile,v 1.7 2009/03/25 19:21:37 abe Exp $
5
6 PROG=   lsof
7
8 BIN=    ${DSTROOT}/usr/sbin
9
10 DOC=    ${DSTROOT}/usr/share/man/man8
11
12 I=/usr/include
13 S=/usr/include/sys
14 L=/usr/include/local
15 P=
16
17 CDEF=   ${RC_CFLAGS}
18 CDEFS=  ${CDEF} ${CFGF}
19 INCL=   ${DINC}
20 override CFLAGS= ${CDEFS} ${INCL} ${DEBUG}
21
22 GRP=    wheel
23
24 HDR=    lsof.h lsof_fields.h dlsof.h machine.h proto.h dproto.h
25
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
28
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
31
32 MAN=    lsof.8
33
34 OTHER=  
35
36 SHELL=  /bin/sh
37
38 SOURCE= Makefile ${OTHER} ${MAN} ${HDR} ${SRC}
39
40 all: ${PROG}
41
42 ${PROG}: ${LIB} ${P} ${OBJ}
43         ${CC} -o $@ ${CFLAGS} ${OBJ} ${CFGL}
44
45 clean: FRC
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)
49
50 install-strip: all FRC
51         @if [ -n "${SYMROOT}" ]; then \
52           mkdir -p ${SYMROOT}; \
53           cp -p ${PROG} ${SYMROOT}/${PROG}; \
54         fi
55         mkdir -p ${BIN}
56         install -c -s -m 755 -g ${GRP} ${PROG} ${BIN}
57         mkdir -p ${DOC}
58         install -c -m 444 ${MAN} ${DOC}
59
60 install: all FRC
61         @echo ''
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:'
67         @echo ''
68         @echo '    install -m 2xxx -g $${GRP} $${PROG} $${BIN}'
69         @echo '    install -m 444 $${MAN} $${DOC}'
70         @echo ''
71         @echo 'Your install rule actions for Darwin 8 and above might look'
72         @echo 'something like this:'
73         @echo ''
74         @echo '    install -m 4xxx -o root $${PROG} $${BIN}'
75         @echo '    install -m 444 $${MAN} $${DOC}'
76         @echo ''
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.,'
80         @echo ''
81         @echo '    BIN= $${DESTDIR}/usr/local/etc'
82         @echo '    DOC= $${DESTDIR}/usr/man/man8'
83         @echo '    GRP= kmem'
84         @echo ''
85
86 ${LIB}: FRC
87         (cd lib; ${MAKE} DEBUG="${DEBUG}" CFGF="${CFGF}")
88
89 version.h:      FRC
90         @echo Constructing version.h
91         @rm -f 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; \
100         else \
101           if [ "${LSOF_HOST}" = "none" ]; then \
102             echo '#define       LSOF_HOST       ""' >> version.h; \
103           else \
104             echo '#define       LSOF_HOST       "${LSOF_HOST}"' >> version.h; \
105           fi \
106         fi
107         @echo '#define  LSOF_LDFLAGS    "${CFGL}"' >> version.h
108         @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
109           echo '#define LSOF_LOGNAME    "${LOGNAME}"' >> version.h; \
110         else \
111           if [ "${LSOF_LOGNAME}" = "none" ]; then \
112             echo '#define       LSOF_LOGNAME    ""' >> version.h; \
113           else \
114             echo '#define       LSOF_LOGNAME    "${LSOF_LOGNAME}"' >> version.h; \
115           fi; \
116         fi
117         @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
118             echo '#define       LSOF_SYSINFO    "'`uname -a`'"' >> version.h; \
119         else \
120           if [ "${LSOF_SYSINFO}" = "none" ]; then \
121             echo '#define       LSOF_SYSINFO    ""' >> version.h; \
122           else \
123             echo '#define       LSOF_SYSINFO    "${LSOF_SYSINFO}"' >> version.h; \
124           fi \
125         fi
126         @if [ "X${LSOF_USER}" = "X" ]; then \
127           echo '#define LSOF_USER       "${USER}"' >> version.h; \
128         else \
129           if [ "${LSOF_USER}" = "none" ]; then \
130             echo '#define       LSOF_USER       ""' >> version.h; \
131           else \
132             echo '#define       LSOF_USER       "${LSOF_USER}"' >> version.h; \
133           fi \
134         fi
135         @sed '/VN/s/.ds VN \(.*\)/#define       LSOF_VERSION    "\1"/' < version >> version.h
136
137 FRC:
138
139 # DO NOT DELETE THIS LINE - make depend DEPENDS ON IT
140
141 ddev.o:         ${HDR} ddev.c
142
143 dfile.o:        ${HDR} dfile.c
144
145 dmnt.o:         ${HDR} dmnt.c
146
147 dproc.o:        ${HDR} dproc.c
148
149 dsock.o:        ${HDR} dsock.c
150
151 dstore.o:       ${HDR} dstore.c
152
153 arg.o:          ${HDR} arg.c
154
155 main.o:         ${HDR} main.c
156
157 misc.o:         ${HDR} misc.c
158
159 node.o:         ${HDR} node.c
160
161 print.o:        ${HDR} print.c
162
163 proc.o:         ${HDR} proc.c
164
165 store.o:        ${HDR} store.c
166
167 usage.o:        ${HDR} version.h usage.c
168
169 util.o:         ${HDR} util.c
170
171 # *** Do not add anything here - It will go away. ***