xref: /f-stack/tools/netstat/Makefile (revision d4a07e70)
11eaf0ac3Slogwang#	@(#)Makefile	8.1 (Berkeley) 6/12/93
21eaf0ac3Slogwang# $FreeBSD$
31eaf0ac3Slogwang
41eaf0ac3SlogwangPROG=	netstat
51eaf0ac3SlogwangSRCS=	if.c inet.c main.c mbuf.c mroute.c netisr.c nl_symbols.c route.c \
622ce4affSfengbojiang	unix.c mroute6.c ipsec.c bpf.c pfkey.c sctp.c common.c nhops.c nhgrp.c \
722ce4affSfengbojiang	nl_defs.h
81eaf0ac3Slogwang
9*d4a07e70SfengbojiangTOPDIR?=${CURDIR}/../..
10*d4a07e70Sfengbojianginclude ${TOPDIR}/tools/opts.mk
11*d4a07e70Sfengbojiang
12*d4a07e70SfengbojiangCLEANFILES+=	nl_symbols.c nl_defs.h
13*d4a07e70Sfengbojiang
14*d4a07e70SfengbojiangLIBADD=util memstat xo
15*d4a07e70Sfengbojiang
16*d4a07e70SfengbojiangWARNS?=	3
17*d4a07e70SfengbojiangCFLAGS+=-fno-strict-aliasing
18*d4a07e70Sfengbojiang
19*d4a07e70Sfengbojiangifneq (${MK_IPSEC_SUPPORT},"no")
20*d4a07e70SfengbojiangCFLAGS+=-DIPSEC
21*d4a07e70Sfengbojiangendif
22*d4a07e70SfengbojiangCFLAGS+=-DSCTP
23*d4a07e70Sfengbojiang
24*d4a07e70Sfengbojiangifneq (${MK_INET_SUPPORT},"no")
25*d4a07e70SfengbojiangCFLAGS+=-DINET
26*d4a07e70Sfengbojiangendif
27*d4a07e70Sfengbojiang
28*d4a07e70Sfengbojiangifneq (${MK_INET6_SUPPORT},"no")
29*d4a07e70SfengbojiangSRCS+=	inet6.c
30*d4a07e70SfengbojiangCFLAGS+=-DINET6
31*d4a07e70Sfengbojiangendif
32*d4a07e70Sfengbojiang
33*d4a07e70Sfengbojiangifneq (${MK_OFED},"no")
34*d4a07e70SfengbojiangCFLAGS+=-DSDP
35*d4a07e70Sfengbojiangendif
36*d4a07e70Sfengbojiang
37*d4a07e70Sfengbojiangifneq (${MK_PF},"no")
38*d4a07e70SfengbojiangCFLAGS+=-DPF
39*d4a07e70Sfengbojiangendif
40*d4a07e70Sfengbojiang
41*d4a07e70SfengbojiangBINGRP=	kmem
42*d4a07e70SfengbojiangBINMODE=2555
43*d4a07e70Sfengbojiang
44*d4a07e70Sfengbojiangifneq (${MK_NETGRAPH_SUPPORT},"no")
45*d4a07e70SfengbojiangSRCS+=	netgraph.c
46*d4a07e70SfengbojiangLIBADD+=	netgraph
47*d4a07e70SfengbojiangCFLAGS+=-DNETGRAPH
48*d4a07e70Sfengbojiangendif
49*d4a07e70Sfengbojiang
50*d4a07e70Sfengbojianginclude ${TOPDIR}/tools/prog.mk
51*d4a07e70Sfengbojiang
521eaf0ac3Slogwangnl_symbols.c: nlist_symbols
531eaf0ac3Slogwang	awk '\
541eaf0ac3Slogwang	    BEGIN { \
551eaf0ac3Slogwang		print "#include <sys/param.h>"; \
561eaf0ac3Slogwang		print "#include <nlist.h>"; \
571eaf0ac3Slogwang		print "struct nlist nl[] = {"; \
581eaf0ac3Slogwang	    } \
591eaf0ac3Slogwang	    !/^\#/ { printf("\t{ .n_name = \"%s\" },\n", $$2); } \
601eaf0ac3Slogwang	    END { print "\t{ .n_name = NULL },\n};" } \
61*d4a07e70Sfengbojiang	    ' < $^ > $@
62*d4a07e70Sfengbojiang
631eaf0ac3Slogwangnl_defs.h: nlist_symbols
641eaf0ac3Slogwang	awk '\
651eaf0ac3Slogwang	    BEGIN { \
661eaf0ac3Slogwang		print "#include <nlist.h>"; \
671eaf0ac3Slogwang		print "extern struct nlist nl[];"; \
681eaf0ac3Slogwang		i = 0; \
691eaf0ac3Slogwang	    } \
701eaf0ac3Slogwang	    !/^\#/ { printf("\#define\tN%s\t%s\n", toupper($$2), i++); }' \
71*d4a07e70Sfengbojiang            < $^ > $@
721eaf0ac3Slogwang
73