]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/blob - tc/Makefile
Build atm and netem as shared libraries
[lisovros/iproute2_canprio.git] / tc / Makefile
1 TCOBJ=tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o m_police.o m_estimator.o
2
3 include ../Config
4
5 TCMODULES :=
6 TCMODULES += q_fifo.o
7 TCMODULES += q_sfq.o
8 TCMODULES += q_red.o
9 TCMODULES += q_prio.o
10 TCMODULES += q_tbf.o
11 TCMODULES += q_cbq.o
12 TCMODULES += f_rsvp.o
13 TCMODULES += f_u32.o
14 TCMODULES += f_route.o
15 TCMODULES += f_fw.o
16 TCMODULES += q_dsmark.o
17 TCMODULES += q_gred.o
18 TCMODULES += f_tcindex.o
19 TCMODULES += q_ingress.o
20 TCMODULES += q_csz.o
21 TCMODULES += q_htb.o
22 TCMODULES += q_hpfq.o
23 TCMODULES += q_hfsc.o
24
25 TCOBJ += $(TCMODULES)
26
27 TCLIB := tc_core.o
28 TCLIB += tc_red.o
29 TCLIB += tc_cbq.o
30 TCLIB += tc_estimator.o
31
32 TCSO :=
33 ifeq ($(TC_CONFIG_ATM),y)
34   TCSO += q_atm.so
35 endif
36
37 ifeq ($(TC_CONFIG_NETEM),y)
38   TCSO += q_netem.so
39 endif
40
41 LDLIBS += -L. -ltc -lm -ldl
42 LDFLAGS += -Wl,-export-dynamic
43
44 %.so: %.c
45         $(CC) $(CFLAGS) -shared -fpic $< -o $@
46
47 all: libtc.a tc $(TCSO)
48
49 tc: $(TCOBJ) $(LIBNETLINK) $(LIBUTIL) $(TCLIB)
50
51 libtc.a: $(TCLIB)
52         $(AR) rcs $@ $(TCLIB)
53
54 install: all
55         mkdir -p $(DESTDIR)/usr/lib/tc
56         install -m 0755 -s tc $(DESTDIR)$(SBINDIR)
57         for i in $(TCSO); do install -m 755 -s $$i $(DESTDIR)/usr/lib/tc; done
58
59 clean:
60         rm -f $(TCOBJ) $(TCLIB) libtc.a tc
61
62 q_atm.so: q_atm.c
63         $(CC) $(CFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
64
65