Stephen Hemminger | 69fed53 | 2017-08-09 08:45:04 -0700 | [diff] [blame] | 1 | # Top level Makefile for iproute2 |
Daniel Borkmann | e422566 | 2016-11-10 01:20:59 +0100 | [diff] [blame] | 2 | |
David Ahern | eebc7cc | 2016-12-07 12:55:09 -0800 | [diff] [blame] | 3 | ifeq ($(VERBOSE),0) |
David Ahern | 57bdf8b | 2016-05-24 15:04:49 -0700 | [diff] [blame] | 4 | MAKEFLAGS += --no-print-directory |
| 5 | endif |
| 6 | |
Pavel Šimerda | 06ec903 | 2015-04-13 16:00:56 +0200 | [diff] [blame] | 7 | PREFIX?=/usr |
| 8 | LIBDIR?=$(PREFIX)/lib |
| 9 | SBINDIR?=/sbin |
| 10 | CONFDIR?=/etc/iproute2 |
Pavel Maltsev | 78ad0e5 | 2018-05-29 14:25:44 -0700 | [diff] [blame] | 11 | NETNS_RUN_DIR?=/var/run/netns |
| 12 | NETNS_ETC_DIR?=/etc/netns |
Pavel Šimerda | 06ec903 | 2015-04-13 16:00:56 +0200 | [diff] [blame] | 13 | DATADIR?=$(PREFIX)/share |
Daniel Borkmann | e422566 | 2016-11-10 01:20:59 +0100 | [diff] [blame] | 14 | HDRDIR?=$(PREFIX)/include/iproute2 |
Pavel Šimerda | 06ec903 | 2015-04-13 16:00:56 +0200 | [diff] [blame] | 15 | DOCDIR?=$(DATADIR)/doc/iproute2 |
| 16 | MANDIR?=$(DATADIR)/man |
| 17 | ARPDDIR?=/var/lib/arpd |
| 18 | KERNEL_INCLUDE?=/usr/include |
Quentin Monnet | 27d44f3 | 2016-05-03 09:39:08 +0200 | [diff] [blame] | 19 | BASH_COMPDIR?=$(DATADIR)/bash-completion/completions |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 20 | |
osdl.net!shemminger | d1e48c7 | 2004-06-25 21:20:20 +0000 | [diff] [blame] | 21 | # Path to db_185.h include |
Pavel Šimerda | 06ec903 | 2015-04-13 16:00:56 +0200 | [diff] [blame] | 22 | DBM_INCLUDE:=$(DESTDIR)/usr/include |
osdl.net!shemminger | d1e48c7 | 2004-06-25 21:20:20 +0000 | [diff] [blame] | 23 | |
Mike Frysinger | f2e27cf | 2009-11-06 06:09:22 -0500 | [diff] [blame] | 24 | SHARED_LIBS = y |
| 25 | |
Andreas Henriksson | 5e3bb53 | 2008-08-22 16:54:12 +0200 | [diff] [blame] | 26 | DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" |
Mike Frysinger | f2e27cf | 2009-11-06 06:09:22 -0500 | [diff] [blame] | 27 | ifneq ($(SHARED_LIBS),y) |
| 28 | DEFINES+= -DNO_SHARED_LIBS |
| 29 | endif |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 30 | |
Pavel Maltsev | 78ad0e5 | 2018-05-29 14:25:44 -0700 | [diff] [blame] | 31 | DEFINES+=-DCONFDIR=\"$(CONFDIR)\" \ |
| 32 | -DNETNS_RUN_DIR=\"$(NETNS_RUN_DIR)\" \ |
| 33 | -DNETNS_ETC_DIR=\"$(NETNS_ETC_DIR)\" |
Christoph J. Thompson | 5c434a9 | 2012-03-01 17:46:26 +0100 | [diff] [blame] | 34 | |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 35 | #options for decnet |
| 36 | ADDLIB+=dnet_ntop.o dnet_pton.o |
| 37 | |
| 38 | #options for ipx |
| 39 | ADDLIB+=ipx_ntop.o ipx_pton.o |
| 40 | |
Eric W. Biederman | dacc5d4 | 2015-03-15 14:53:45 -0500 | [diff] [blame] | 41 | #options for mpls |
| 42 | ADDLIB+=mpls_ntop.o mpls_pton.o |
| 43 | |
Phil Sutter | 7ffa2b5 | 2016-07-18 16:48:45 +0200 | [diff] [blame] | 44 | CC := gcc |
| 45 | HOSTCC ?= $(CC) |
Christoph J. Thompson | c861002 | 2012-03-01 06:45:17 +0000 | [diff] [blame] | 46 | DEFINES += -D_GNU_SOURCE |
Mike Frysinger | 232aaf4 | 2015-05-26 02:51:30 -0400 | [diff] [blame] | 47 | # Turn on transparent support for LFS |
| 48 | DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE |
Christoph J. Thompson | c861002 | 2012-03-01 06:45:17 +0000 | [diff] [blame] | 49 | CCOPTS = -O2 |
Stephen Hemminger | 3140e9a | 2013-07-31 17:42:39 -0700 | [diff] [blame] | 50 | WFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes |
Stephen Hemminger | 4ec0ffd | 2014-05-29 10:31:30 -0700 | [diff] [blame] | 51 | WFLAGS += -Wmissing-declarations -Wold-style-definition -Wformat=2 |
Stephen Hemminger | 6398d3a | 2013-02-12 11:39:32 -0800 | [diff] [blame] | 52 | |
Lorenzo Colitti | 596b1c9 | 2017-10-03 02:03:37 +0900 | [diff] [blame] | 53 | CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) |
shemminger | 9ddbb02 | 2005-06-23 17:21:46 +0000 | [diff] [blame] | 54 | YACCFLAGS = -d -t -v |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 55 | |
Leon Romanovsky | 74bd75c | 2017-08-20 12:58:22 +0300 | [diff] [blame] | 56 | SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma man |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 57 | |
| 58 | LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a |
Diego Elio Pettenò | 2230ac1 | 2011-03-09 10:18:03 -0800 | [diff] [blame] | 59 | LDLIBS += $(LIBNETLINK) |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 60 | |
Stephen Hemminger | 5f1df30 | 2017-08-10 17:05:03 -0700 | [diff] [blame] | 61 | all: config.mk |
Mike Frysinger | 95dd595 | 2007-03-05 17:50:49 -0800 | [diff] [blame] | 62 | @set -e; \ |
| 63 | for i in $(SUBDIRS); \ |
David Ahern | 57bdf8b | 2016-05-24 15:04:49 -0700 | [diff] [blame] | 64 | do echo; echo $$i; $(MAKE) $(MFLAGS) -C $$i; done |
osdl.net!shemminger | adff36d | 2004-06-25 21:14:22 +0000 | [diff] [blame] | 65 | |
Stephen Hemminger | 5f1df30 | 2017-08-10 17:05:03 -0700 | [diff] [blame] | 66 | config.mk: |
shemminger | f35e928 | 2005-06-07 21:48:09 +0000 | [diff] [blame] | 67 | sh configure $(KERNEL_INCLUDE) |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 68 | |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 69 | install: all |
| 70 | install -m 0755 -d $(DESTDIR)$(SBINDIR) |
osdl.net!shemminger | e9a05e9 | 2004-07-02 17:47:15 +0000 | [diff] [blame] | 71 | install -m 0755 -d $(DESTDIR)$(CONFDIR) |
Olaf Rempel | e48f73d | 2005-11-09 15:25:40 +0100 | [diff] [blame] | 72 | install -m 0755 -d $(DESTDIR)$(ARPDDIR) |
Daniel Borkmann | e422566 | 2016-11-10 01:20:59 +0100 | [diff] [blame] | 73 | install -m 0755 -d $(DESTDIR)$(HDRDIR) |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 74 | install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples |
| 75 | install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples/diffserv |
osdl.net!shemminger | c72238e | 2004-12-07 23:57:50 +0000 | [diff] [blame] | 76 | install -m 0644 README.iproute2+tc $(shell find examples -maxdepth 1 -type f) \ |
osdl.net!shemminger | e9a05e9 | 2004-07-02 17:47:15 +0000 | [diff] [blame] | 77 | $(DESTDIR)$(DOCDIR)/examples |
osdl.net!shemminger | c72238e | 2004-12-07 23:57:50 +0000 | [diff] [blame] | 78 | install -m 0644 $(shell find examples/diffserv -maxdepth 1 -type f) \ |
osdl.net!shemminger | e9a05e9 | 2004-07-02 17:47:15 +0000 | [diff] [blame] | 79 | $(DESTDIR)$(DOCDIR)/examples/diffserv |
Stephen Hemminger | b2fd7a0 | 2017-09-29 10:50:13 -0700 | [diff] [blame] | 80 | @for i in $(SUBDIRS); do $(MAKE) -C $$i install; done |
osdl.net!shemminger | c72238e | 2004-12-07 23:57:50 +0000 | [diff] [blame] | 81 | install -m 0644 $(shell find etc/iproute2 -maxdepth 1 -type f) $(DESTDIR)$(CONFDIR) |
Quentin Monnet | 27d44f3 | 2016-05-03 09:39:08 +0200 | [diff] [blame] | 82 | install -m 0755 -d $(DESTDIR)$(BASH_COMPDIR) |
| 83 | install -m 0644 bash-completion/tc $(DESTDIR)$(BASH_COMPDIR) |
Daniel Borkmann | e422566 | 2016-11-10 01:20:59 +0100 | [diff] [blame] | 84 | install -m 0644 include/bpf_elf.h $(DESTDIR)$(HDRDIR) |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 85 | |
Stephen Hemminger | 235ac6a | 2007-12-21 09:53:45 -0800 | [diff] [blame] | 86 | snapshot: |
| 87 | echo "static const char SNAPSHOT[] = \""`date +%y%m%d`"\";" \ |
| 88 | > include/SNAPSHOT.h |
| 89 | |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 90 | clean: |
Stephen Hemminger | b2fd7a0 | 2017-09-29 10:50:13 -0700 | [diff] [blame] | 91 | @for i in $(SUBDIRS); \ |
osdl.net!shemminger | adff36d | 2004-06-25 21:14:22 +0000 | [diff] [blame] | 92 | do $(MAKE) $(MFLAGS) -C $$i clean; done |
| 93 | |
Stephen Hemminger | 82408fc | 2010-11-18 15:25:38 -0800 | [diff] [blame] | 94 | clobber: |
Stephen Hemminger | 5f1df30 | 2017-08-10 17:05:03 -0700 | [diff] [blame] | 95 | touch config.mk |
Stephen Hemminger | 82408fc | 2010-11-18 15:25:38 -0800 | [diff] [blame] | 96 | $(MAKE) $(MFLAGS) clean |
Stephen Hemminger | 5f1df30 | 2017-08-10 17:05:03 -0700 | [diff] [blame] | 97 | rm -f config.mk cscope.* |
osdl.net!shemminger | adff36d | 2004-06-25 21:14:22 +0000 | [diff] [blame] | 98 | |
shemminger | 87773db | 2005-06-23 17:23:53 +0000 | [diff] [blame] | 99 | distclean: clobber |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 100 | |
shemminger | f6aa8e0 | 2005-06-23 17:31:49 +0000 | [diff] [blame] | 101 | cscope: |
| 102 | cscope -b -q -R -Iinclude -sip -slib -smisc -snetem -stc |
| 103 | |
osdl.org!shemminger | aba5acd | 2004-04-15 20:56:59 +0000 | [diff] [blame] | 104 | .EXPORT_ALL_VARIABLES: |