]> git.proxmox.com Git - mirror_iproute2.git/blame - Makefile
(Logical change 1.3)
[mirror_iproute2.git] / Makefile
CommitLineData
aba5acdf
SH
1# Path to parent kernel include files directory
2DESTDIR=
3SBINDIR=/sbin
4CONFDIR=/etc/iproute2
5DOCDIR=/usr/doc/iproute2
6
7KERNEL_INCLUDE=/usr/src/linux/include
8LIBC_INCLUDE=/usr/include
9
10DEFINES= -DRESOLVE_HOSTNAMES
11
12#options if you have a bind>=4.9.4 libresolv (or, maybe, glibc)
13LDLIBS=-lresolv
14ADDLIB=
15
16#options if you compile with libc5, and without a bind>=4.9.4 libresolv
17#LDLIBS=
18#ADDLIB=inet_ntop.o inet_pton.o
19
20#options for decnet
21ADDLIB+=dnet_ntop.o dnet_pton.o
22
23#options for ipx
24ADDLIB+=ipx_ntop.o ipx_pton.o
25
26ifeq ($(LIBC_INCLUDE)/socketbits.h,$(wildcard $(LIBC_INCLUDE)/socketbits.h))
27 ifeq ($(LIBC_INCLUDE)/net/if_packet.h,$(wildcard $(LIBC_INCLUDE)/net/if_packet.h))
28 GLIBCFIX=-I../include-glibc -include ../include-glibc/glibc-bugs.h
29 endif
30endif
31ifeq ($(LIBC_INCLUDE)/bits/socket.h,$(wildcard $(LIBC_INCLUDE)/bits/socket.h))
32 GLIBCFIX=-I../include-glibc -I/usr/include/db3 -include ../include-glibc/glibc-bugs.h
33endif
34
35
36CC = gcc
37CCOPTS = -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
38CFLAGS = $(CCOPTS) $(GLIBCFIX) -I$(KERNEL_INCLUDE) -I../include $(DEFINES)
39
40LDLIBS += -L../lib -lnetlink -lutil
41
42SUBDIRS=lib ip tc misc
43
44LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a
45
46all: check-kernel
47 @set -e; \
48 for i in $(SUBDIRS); \
49 do $(MAKE) -C $$i; done
50
51check-kernel:
52ifeq ($(KERNEL_INCLUDE),)
53 @echo "Please, set correct KERNEL_INCLUDE"; false
54else
55 @set -e; \
56 if [ ! -r $(KERNEL_INCLUDE)/linux/autoconf.h ]; then \
57 echo "Please, compile the kernel first"; false; fi
58endif
59
60install: all
61 install -m 0755 -d $(DESTDIR)$(SBINDIR)
62 install -m 0755 -d $(DESTDIR)$(CONFDIR)
63 install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples
64 install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples/diffserv
65 install -m 0644 README.iproute2+tc $(shell find examples -type f -maxdepth 1) $(DESTDIR)$(DOCDIR)/examples
66 install -m 0644 $(shell echo examples/diffserv/*) $(DESTDIR)$(DOCDIR)/examples/diffserv
67 @for i in $(SUBDIRS) doc; do $(MAKE) -C $$i install; done
68 @cd etc/iproute2; for i in *; do \
69 if [ ! -e $(DESTDIR)$(CONFDIR)/$$i ]; then \
70 echo install -m 0644 $$i $(DESTDIR)$(CONFDIR); \
71 install -m 0644 $$i $(DESTDIR)$(CONFDIR); fi; done
72
73clean:
74 for i in $(SUBDIRS) doc; \
75 do $(MAKE) -C $$i clean; done
76
77.EXPORT_ALL_VARIABLES: