-# Path to parent kernel include files directory
DESTDIR=
SBINDIR=/usr/sbin
CONFDIR=/etc/iproute2
DOCDIR=/usr/doc/iproute2
-KERNEL_INCLUDE=/usr/include
-LIBC_INCLUDE=/usr/include
+# Path to parent kernel include files directory
+KERNEL_INCLUDE:=/usr/include
DEFINES= -DRESOLVE_HOSTNAMES
LDLIBS=-lresolv
ADDLIB=
-#options if you compile with libc5, and without a bind>=4.9.4 libresolv
-#LDLIBS=
-#ADDLIB=inet_ntop.o inet_pton.o
-
#options for decnet
ADDLIB+=dnet_ntop.o dnet_pton.o
CC = gcc
CCOPTS = -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
-CFLAGS = $(CCOPTS) -I$(KERNEL_INCLUDE) -I../include -I/usr/include/db41 $(DEFINES)
+CFLAGS = $(CCOPTS) -I$(KERNEL_INCLUDE) -I../include $(DEFINES)
LDLIBS += -L../lib -lnetlink -lutil
LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a
-all:
- for i in $(SUBDIRS); \
- do $(MAKE) -C $$i; done
+all: Config
+ @for i in $(SUBDIRS); \
+ do $(MAKE) $(MFLAGS) -C $$i; done
+
+Config:
+ ./configure $(KERNEL_INCLUDE)
install: all
install -m 0755 -d $(DESTDIR)$(SBINDIR)
- install -m 0755 -d $(DESTDIR)$(CONFDIR)
+ install -m 0755 -d $(CONFDIR)
install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples
install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples/diffserv
install -m 0644 README.iproute2+tc $(shell find examples -type f -maxdepth 1) $(DESTDIR)$(DOCDIR)/examples
install -m 0644 $(shell echo examples/diffserv/*) $(DESTDIR)$(DOCDIR)/examples/diffserv
@for i in $(SUBDIRS) doc; do $(MAKE) -C $$i install; done
@cd etc/iproute2; for i in *; do \
- if [ ! -e $(DESTDIR)$(CONFDIR)/$$i ]; then \
- echo install -m 0644 $$i $(DESTDIR)$(CONFDIR); \
- install -m 0644 $$i $(DESTDIR)$(CONFDIR); fi; done
+ if [ ! -e $(CONFDIR)/$$i ]; then \
+ echo install -m 0644 $$i $(CONFDIR); \
+ install -m 0644 $$i $(CONFDIR); fi; done
clean:
- for i in $(SUBDIRS) doc; \
- do $(MAKE) -C $$i clean; done
+ @for i in $(SUBDIRS) doc; \
+ do $(MAKE) $(MFLAGS) -C $$i clean; done
+
+clobber: clean
+ rm -f Config
+
.EXPORT_ALL_VARIABLES:
ALLOBJ=$(SSOBJ) $(NSTATOBJ) $(IFSTATOBJ) $(RTACCTOBJ) $(ARPDOBJ) $(RTSTATOBJ)
TARGETS=ss nstat ifstat rtacct arpd rtstat
+include ../Config
+
+ifeq ($(SS_CONFIG_VEGAS),y)
+ DEFINES += -DHAVE_TCP_VEGAS
+endif
+ifeq ($(SS_CONFIG_DRS),y)
+ DEFINES += -DHAVE_TCP_DRS
+endif
+
+
+
all: $(TARGETS)
ss: $(SSOBJ) $(LIBUTIL)
$(CC) $(CFLAGS) $(LDFLAGS) -o rtacct $(RTACCTOBJ) $(LIBNETLINK) -lm
arpd: $(ARPDOBJ)
- $(CC) $(CFLAGS) $(LDFLAGS) -o arpd $(ARPDOBJ) $(LIBNETLINK) -ldb-4.1
+ $(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(LDFLAGS) -o arpd $(ARPDOBJ) $(LIBNETLINK) -ldb
rtstat: $(RTSTATOBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o rtstat $(RTSTATOBJ)
if (info->tcpi_snd_ssthresh < 0xFFFF)
printf(" ssthresh:%d", info->tcpi_snd_ssthresh);
-#if LINUX_VERSION_CODE >= 0x20607
+#ifdef HAVE_TCP_DRS
if (info->tcpi_rcv_rtt)
printf(" rcv_rtt:%g", (double) info->tcpi_rcv_rtt/1000);
if (info->tcpi_rcv_space)
printf(" rcv_space:%d", info->tcpi_rcv_space);
+#endif
+#ifdef HAVE_TCP_VEGAS
if (tb[TCPDIAG_VEGASINFO]) {
const struct tcpvegas_info *vinfo
= RTA_DATA(tb[TCPDIAG_VEGASINFO]);