xref: /f-stack/tools/netstat/Makefile (revision 1eaf0ac3)
1*1eaf0ac3Slogwang#	@(#)Makefile	8.1 (Berkeley) 6/12/93
2*1eaf0ac3Slogwang# $FreeBSD$
3*1eaf0ac3Slogwang
4*1eaf0ac3SlogwangPROG=	netstat
5*1eaf0ac3SlogwangSRCS=	if.c inet.c main.c mbuf.c mroute.c netisr.c nl_symbols.c route.c \
6*1eaf0ac3Slogwang	unix.c mroute6.c ipsec.c bpf.c pfkey.c sctp.c \
7*1eaf0ac3Slogwang	flowtable.c nl_defs.h
8*1eaf0ac3Slogwang
9*1eaf0ac3SlogwangTOPDIR?=${CURDIR}/../..
10*1eaf0ac3Slogwanginclude ${TOPDIR}/tools/opts.mk
11*1eaf0ac3Slogwang
12*1eaf0ac3SlogwangCLEANFILES+=	nl_symbols.c nl_defs.h
13*1eaf0ac3Slogwang
14*1eaf0ac3SlogwangCFLAGS+= -I${TOPDIR}/tools/libutil
15*1eaf0ac3SlogwangCFLAGS+= -I${TOPDIR}/tools/libmemstat
16*1eaf0ac3SlogwangCFLAGS+= -I${TOPDIR}/tools/libxo/libxo
17*1eaf0ac3Slogwang
18*1eaf0ac3SlogwangLIBS+= -L${TOPDIR}/tools/libutil -lutil
19*1eaf0ac3SlogwangLIBS+= -L${TOPDIR}/tools/libmemstat -lmemstat
20*1eaf0ac3SlogwangLIBS+= -L${TOPDIR}/tools/libxo -lxo
21*1eaf0ac3Slogwang
22*1eaf0ac3SlogwangWARNS?=	3
23*1eaf0ac3SlogwangCFLAGS+=-fno-strict-aliasing
24*1eaf0ac3Slogwang
25*1eaf0ac3Slogwangifneq (${MK_IPSEC_SUPPORT},"no")
26*1eaf0ac3SlogwangCFLAGS+=-DIPSEC
27*1eaf0ac3Slogwangendif
28*1eaf0ac3SlogwangCFLAGS+=-DSCTP
29*1eaf0ac3Slogwang
30*1eaf0ac3Slogwangifneq (${MK_INET_SUPPORT},"no")
31*1eaf0ac3SlogwangCFLAGS+=-DINET
32*1eaf0ac3Slogwangendif
33*1eaf0ac3Slogwang
34*1eaf0ac3Slogwangifneq (${MK_INET6_SUPPORT},"no")
35*1eaf0ac3SlogwangSRCS+=	inet6.c
36*1eaf0ac3SlogwangCFLAGS+=-DINET6
37*1eaf0ac3Slogwangendif
38*1eaf0ac3Slogwang
39*1eaf0ac3Slogwangifneq (${MK_OFED},"no")
40*1eaf0ac3SlogwangCFLAGS+=-DSDP
41*1eaf0ac3Slogwangendif
42*1eaf0ac3Slogwang
43*1eaf0ac3Slogwangifneq (${MK_PF},"no")
44*1eaf0ac3SlogwangCFLAGS+=-DPF
45*1eaf0ac3Slogwangendif
46*1eaf0ac3Slogwang
47*1eaf0ac3SlogwangBINGRP=	kmem
48*1eaf0ac3SlogwangBINMODE=2555
49*1eaf0ac3SlogwangLIBADD=	kvm memstat xo util
50*1eaf0ac3Slogwang
51*1eaf0ac3Slogwangifneq (${MK_NETGRAPH_SUPPORT},"no")
52*1eaf0ac3SlogwangSRCS+=	netgraph.c
53*1eaf0ac3SlogwangLIBADD+=	netgraph
54*1eaf0ac3SlogwangCFLAGS+=-DNETGRAPH
55*1eaf0ac3Slogwangendif
56*1eaf0ac3Slogwang
57*1eaf0ac3Slogwanginclude ${TOPDIR}/tools/prog.mk
58*1eaf0ac3Slogwang
59*1eaf0ac3Slogwangnl_symbols.c: nlist_symbols
60*1eaf0ac3Slogwang	awk '\
61*1eaf0ac3Slogwang            BEGIN { \
62*1eaf0ac3Slogwang                print "#include <sys/param.h>"; \
63*1eaf0ac3Slogwang                print "#include <nlist.h>"; \
64*1eaf0ac3Slogwang                print "struct nlist nl[] = {"; \
65*1eaf0ac3Slogwang            } \
66*1eaf0ac3Slogwang            !/^\#/ { printf("\t{ .n_name = \"%s\" },\n", $$2); } \
67*1eaf0ac3Slogwang            END { print "\t{ .n_name = NULL },\n};" } \
68*1eaf0ac3Slogwang            ' < $^ > $@
69*1eaf0ac3Slogwang
70*1eaf0ac3Slogwangnl_defs.h: nlist_symbols
71*1eaf0ac3Slogwang	awk '\
72*1eaf0ac3Slogwang            BEGIN { \
73*1eaf0ac3Slogwang                print "#include <nlist.h>"; \
74*1eaf0ac3Slogwang                print "extern struct nlist nl[];"; \
75*1eaf0ac3Slogwang                i = 0; \
76*1eaf0ac3Slogwang            } \
77*1eaf0ac3Slogwang            !/^\#/ { printf("\#define\tN%s\t%s\n", toupper($$2), i++); }' \
78*1eaf0ac3Slogwang            < $^ > $@
79*1eaf0ac3Slogwang
80