| # Include "Config" if already generated |
| ifneq ($(wildcard Config),) |
| include Config |
| endif |
| |
| ifeq ($(VERBOSE),0) |
| MAKEFLAGS += --no-print-directory |
| endif |
| |
| PREFIX?=/usr |
| LIBDIR?=$(PREFIX)/lib |
| SBINDIR?=/sbin |
| CONFDIR?=/etc/iproute2 |
| DATADIR?=$(PREFIX)/share |
| HDRDIR?=$(PREFIX)/include/iproute2 |
| DOCDIR?=$(DATADIR)/doc/iproute2 |
| MANDIR?=$(DATADIR)/man |
| ARPDDIR?=/var/lib/arpd |
| KERNEL_INCLUDE?=/usr/include |
| BASH_COMPDIR?=$(DATADIR)/bash-completion/completions |
| |
| # Path to db_185.h include |
| DBM_INCLUDE:=$(DESTDIR)/usr/include |
| |
| SHARED_LIBS = y |
| |
| DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" |
| ifneq ($(SHARED_LIBS),y) |
| DEFINES+= -DNO_SHARED_LIBS |
| endif |
| |
| DEFINES+=-DCONFDIR=\"$(CONFDIR)\" |
| |
| #options for decnet |
| ADDLIB+=dnet_ntop.o dnet_pton.o |
| |
| #options for ipx |
| ADDLIB+=ipx_ntop.o ipx_pton.o |
| |
| #options for mpls |
| ADDLIB+=mpls_ntop.o mpls_pton.o |
| |
| CC := gcc |
| HOSTCC ?= $(CC) |
| DEFINES += -D_GNU_SOURCE |
| # Turn on transparent support for LFS |
| DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE |
| CCOPTS = -O2 |
| WFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes |
| WFLAGS += -Wmissing-declarations -Wold-style-definition -Wformat=2 |
| |
| CFLAGS := $(WFLAGS) $(CCOPTS) -I../include $(DEFINES) $(CFLAGS) |
| YACCFLAGS = -d -t -v |
| |
| SUBDIRS=lib ip tc bridge misc netem genl tipc devlink man |
| |
| LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a |
| LDLIBS += $(LIBNETLINK) |
| |
| ifeq ($(HAVE_ELF),y) |
| CFLAGS += -DHAVE_ELF |
| LDLIBS += -lelf |
| endif |
| |
| all: Config |
| @set -e; \ |
| for i in $(SUBDIRS); \ |
| do echo; echo $$i; $(MAKE) $(MFLAGS) -C $$i; done |
| |
| Config: |
| sh configure $(KERNEL_INCLUDE) |
| |
| install: all |
| install -m 0755 -d $(DESTDIR)$(SBINDIR) |
| install -m 0755 -d $(DESTDIR)$(CONFDIR) |
| install -m 0755 -d $(DESTDIR)$(ARPDDIR) |
| install -m 0755 -d $(DESTDIR)$(HDRDIR) |
| install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples |
| install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples/diffserv |
| install -m 0644 README.iproute2+tc $(shell find examples -maxdepth 1 -type f) \ |
| $(DESTDIR)$(DOCDIR)/examples |
| install -m 0644 $(shell find examples/diffserv -maxdepth 1 -type f) \ |
| $(DESTDIR)$(DOCDIR)/examples/diffserv |
| @for i in $(SUBDIRS) doc; do $(MAKE) -C $$i install; done |
| install -m 0644 $(shell find etc/iproute2 -maxdepth 1 -type f) $(DESTDIR)$(CONFDIR) |
| install -m 0755 -d $(DESTDIR)$(BASH_COMPDIR) |
| install -m 0644 bash-completion/tc $(DESTDIR)$(BASH_COMPDIR) |
| install -m 0644 include/bpf_elf.h $(DESTDIR)$(HDRDIR) |
| |
| snapshot: |
| echo "static const char SNAPSHOT[] = \""`date +%y%m%d`"\";" \ |
| > include/SNAPSHOT.h |
| |
| clean: |
| @for i in $(SUBDIRS) doc; \ |
| do $(MAKE) $(MFLAGS) -C $$i clean; done |
| |
| clobber: |
| touch Config |
| $(MAKE) $(MFLAGS) clean |
| rm -f Config cscope.* |
| |
| distclean: clobber |
| |
| cscope: |
| cscope -b -q -R -Iinclude -sip -slib -smisc -snetem -stc |
| |
| .EXPORT_ALL_VARIABLES: |