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