]> git.proxmox.com Git - mirror_iproute2.git/blob - Makefile
add basic mpls support to iproute
[mirror_iproute2.git] / Makefile
1 ROOTDIR=$(DESTDIR)
2 PREFIX=/usr
3 LIBDIR=$(PREFIX)/lib
4 SBINDIR=/sbin
5 CONFDIR=/etc/iproute2
6 DATADIR=$(PREFIX)/share
7 DOCDIR=$(DATADIR)/doc/iproute2
8 MANDIR=$(DATADIR)/man
9 ARPDDIR=/var/lib/arpd
10
11 # Path to db_185.h include
12 DBM_INCLUDE:=$(ROOTDIR)/usr/include
13
14 SHARED_LIBS = y
15
16 DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
17 ifneq ($(SHARED_LIBS),y)
18 DEFINES+= -DNO_SHARED_LIBS
19 endif
20
21 DEFINES+=-DCONFDIR=\"$(CONFDIR)\"
22
23 #options for decnet
24 ADDLIB+=dnet_ntop.o dnet_pton.o
25
26 #options for ipx
27 ADDLIB+=ipx_ntop.o ipx_pton.o
28
29 #options for mpls
30 ADDLIB+=mpls_ntop.o mpls_pton.o
31
32 CC = gcc
33 HOSTCC = gcc
34 DEFINES += -D_GNU_SOURCE
35 CCOPTS = -O2
36 WFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes
37 WFLAGS += -Wmissing-declarations -Wold-style-definition -Wformat=2
38
39 CFLAGS = $(WFLAGS) $(CCOPTS) -I../include $(DEFINES)
40 YACCFLAGS = -d -t -v
41
42 SUBDIRS=lib ip tc bridge misc netem genl man
43
44 LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a
45 LDLIBS += $(LIBNETLINK)
46
47 all: Config
48 @set -e; \
49 for i in $(SUBDIRS); \
50 do $(MAKE) $(MFLAGS) -C $$i; done
51
52 Config:
53 sh configure $(KERNEL_INCLUDE)
54
55 install: all
56 install -m 0755 -d $(DESTDIR)$(SBINDIR)
57 install -m 0755 -d $(DESTDIR)$(CONFDIR)
58 install -m 0755 -d $(DESTDIR)$(ARPDDIR)
59 install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples
60 install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples/diffserv
61 install -m 0644 README.iproute2+tc $(shell find examples -maxdepth 1 -type f) \
62 $(DESTDIR)$(DOCDIR)/examples
63 install -m 0644 $(shell find examples/diffserv -maxdepth 1 -type f) \
64 $(DESTDIR)$(DOCDIR)/examples/diffserv
65 @for i in $(SUBDIRS) doc; do $(MAKE) -C $$i install; done
66 install -m 0644 $(shell find etc/iproute2 -maxdepth 1 -type f) $(DESTDIR)$(CONFDIR)
67
68 snapshot:
69 echo "static const char SNAPSHOT[] = \""`date +%y%m%d`"\";" \
70 > include/SNAPSHOT.h
71
72 clean:
73 @for i in $(SUBDIRS) doc; \
74 do $(MAKE) $(MFLAGS) -C $$i clean; done
75
76 clobber:
77 touch Config
78 $(MAKE) $(MFLAGS) clean
79 rm -f Config cscope.*
80
81 distclean: clobber
82
83 cscope:
84 cscope -b -q -R -Iinclude -sip -slib -smisc -snetem -stc
85
86 .EXPORT_ALL_VARIABLES: