1 # SPDX-License-Identifier: GPL-2.0
2 # Top level Makefile for iproute2
4 ifeq ("$(origin V)", "command line")
12 MAKEFLAGS
+= --no-print-directory
18 CONFDIR?
=/etc
/iproute2
19 NETNS_RUN_DIR?
=/var
/run
/netns
20 NETNS_ETC_DIR?
=/etc
/netns
21 DATADIR?
=$(PREFIX
)/share
22 HDRDIR?
=$(PREFIX
)/include/iproute2
23 DOCDIR?
=$(DATADIR
)/doc
/iproute2
24 MANDIR?
=$(DATADIR
)/man
25 ARPDDIR?
=/var
/lib
/arpd
26 KERNEL_INCLUDE?
=/usr
/include
27 BASH_COMPDIR?
=$(DATADIR
)/bash-completion
/completions
29 # Path to db_185.h include
30 DBM_INCLUDE
:=$(DESTDIR
)/usr
/include
34 DEFINES
= -DRESOLVE_HOSTNAMES
-DLIBDIR
=\"$(LIBDIR
)\"
35 ifneq ($(SHARED_LIBS
),y
)
36 DEFINES
+= -DNO_SHARED_LIBS
39 DEFINES
+=-DCONFDIR
=\"$(CONFDIR
)\" \
40 -DNETNS_RUN_DIR
=\"$(NETNS_RUN_DIR
)\" \
41 -DNETNS_ETC_DIR
=\"$(NETNS_ETC_DIR
)\"
44 ADDLIB
+=dnet_ntop.o dnet_pton.o
47 ADDLIB
+=mpls_ntop.o mpls_pton.o
51 DEFINES
+= -D_GNU_SOURCE
52 # Turn on transparent support for LFS
53 DEFINES
+= -D_FILE_OFFSET_BITS
=64 -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE
55 WFLAGS
:= -Wall
-Wstrict-prototypes
-Wmissing-prototypes
56 WFLAGS
+= -Wmissing-declarations
-Wold-style-definition
-Wformat
=2
58 CFLAGS
:= $(WFLAGS
) $(CCOPTS
) -I..
/include -I..
/include/uapi
$(DEFINES
) $(CFLAGS
)
61 SUBDIRS
=lib ip tc bridge misc netem genl tipc devlink rdma man
63 LIBNETLINK
=..
/lib
/libutil.a ..
/lib
/libnetlink.a
64 LDLIBS
+= $(LIBNETLINK
)
68 for i in
$(SUBDIRS
); \
69 do echo
; echo
$$i; $(MAKE
) $(MFLAGS
) -C
$$i; done
73 @echo
" all - build binaries"
74 @echo
" clean - remove products of build"
75 @echo
" distclean - remove configuration and build"
76 @echo
" install - install binaries on local machine"
77 @echo
" check - run tests"
78 @echo
" cscope - build cscope database"
79 @echo
" snapshot - generate version number header"
81 @echo
"Make Arguments:"
82 @echo
" V=[0|1] - set build verbosity level"
85 sh configure
$(KERNEL_INCLUDE
)
88 install -m
0755 -d
$(DESTDIR
)$(SBINDIR
)
89 install -m
0755 -d
$(DESTDIR
)$(CONFDIR
)
90 install -m
0755 -d
$(DESTDIR
)$(ARPDDIR
)
91 install -m
0755 -d
$(DESTDIR
)$(HDRDIR
)
92 install -m
0755 -d
$(DESTDIR
)$(DOCDIR
)/examples
93 install -m
0755 -d
$(DESTDIR
)$(DOCDIR
)/examples
/diffserv
94 install -m
0644 README.iproute2
+tc
$(shell find examples
-maxdepth
1 -type f
) \
95 $(DESTDIR
)$(DOCDIR
)/examples
96 install -m
0644 $(shell find examples
/diffserv
-maxdepth
1 -type f
) \
97 $(DESTDIR
)$(DOCDIR
)/examples
/diffserv
98 @for i in
$(SUBDIRS
); do
$(MAKE
) -C
$$i install; done
99 install -m
0644 $(shell find etc
/iproute2
-maxdepth
1 -type f
) $(DESTDIR
)$(CONFDIR
)
100 install -m
0755 -d
$(DESTDIR
)$(BASH_COMPDIR
)
101 install -m
0644 bash-completion
/tc
$(DESTDIR
)$(BASH_COMPDIR
)
102 install -m
0644 include/bpf_elf.h
$(DESTDIR
)$(HDRDIR
)
105 echo
"static const char SNAPSHOT[] = \""`date +%y%m%d`"\";" \
109 @for i in
$(SUBDIRS
) testsuite
; \
110 do
$(MAKE
) $(MFLAGS
) -C
$$i clean; done
114 $(MAKE
) $(MFLAGS
) clean
115 rm -f config.mk cscope.
*
120 cd testsuite
&& $(MAKE
) && $(MAKE
) alltests
123 cscope
-b
-q
-R
-Iinclude
-sip
-slib
-smisc
-snetem
-stc
125 .EXPORT_ALL_VARIABLES
: