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