blob: 9d618ffcef30d5b658f842aac94e63ac1eaca743 [file] [log] [blame]
osdl.net!shemminger6d3692a2004-08-13 23:54:55 +00001TCOBJ= tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o \
shemminger9ddbb022005-06-23 17:21:46 +00002 m_police.o m_estimator.o m_action.o m_ematch.o \
3 emp_ematch.yacc.o emp_ematch.lex.o
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +00004
osdl.net!shemmingeradff36d2004-06-25 21:14:22 +00005include ../Config
6
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +00007TCMODULES :=
8TCMODULES += q_fifo.o
9TCMODULES += q_sfq.o
10TCMODULES += q_red.o
11TCMODULES += q_prio.o
12TCMODULES += q_tbf.o
13TCMODULES += q_cbq.o
14TCMODULES += f_rsvp.o
15TCMODULES += f_u32.o
16TCMODULES += f_route.o
17TCMODULES += f_fw.o
shemminger9ddbb022005-06-23 17:21:46 +000018TCMODULES += f_basic.o
osdl.org!shemmingercda17fc2004-06-09 21:31:01 +000019TCMODULES += q_dsmark.o
20TCMODULES += q_gred.o
21TCMODULES += f_tcindex.o
22TCMODULES += q_ingress.o
osdl.net!shemminger4b1bbd92004-08-09 16:35:28 +000023TCMODULES += q_hfsc.o
24TCMODULES += q_htb.o
osdl.net!shemminger9bf19a82004-08-30 21:20:10 +000025TCMODULES += m_gact.o
net[shemminger]!shemminger00fa8482004-12-08 20:13:56 +000026TCMODULES += m_mirred.o
net[shemminger]!shemminger1ffd7fd2005-01-17 23:26:23 +000027TCMODULES += m_ipt.o
net[shemminger]!shemminger7e7c7372005-01-17 23:32:51 +000028TCMODULES += m_pedit.o
29TCMODULES += p_ip.o
30TCMODULES += p_icmp.o
31TCMODULES += p_tcp.o
32TCMODULES += p_udp.o
shemminger9ddbb022005-06-23 17:21:46 +000033TCMODULES += em_nbyte.o
34TCMODULES += em_cmp.o
35TCMODULES += em_u32.o
36TCMODULES += em_meta.o
net[shemminger]!shemminger7e7c7372005-01-17 23:32:51 +000037
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000038TCOBJ += $(TCMODULES)
39
40TCLIB := tc_core.o
41TCLIB += tc_red.o
42TCLIB += tc_cbq.o
43TCLIB += tc_estimator.o
44
osdl.net!shemminger9bf19a82004-08-30 21:20:10 +000045CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PROB
46
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000047TCSO :=
osdl.net!shemminger96f13b82004-08-09 17:12:23 +000048TCSO += q_netem.so
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000049ifeq ($(TC_CONFIG_ATM),y)
50 TCSO += q_atm.so
51endif
52
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000053LDLIBS += -L. -ltc -lm -ldl
net[shemminger]!shemminger8e64f6f2004-08-30 21:07:09 +000054
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000055LDFLAGS += -Wl,-export-dynamic
56
shemmingerc0fc3ab2005-06-23 20:16:43 +000057YACC := bison
58LEX := flex
59
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000060%.so: %.c
61 $(CC) $(CFLAGS) -shared -fpic $< -o $@
62
osdl.net!shemmingera2218e82004-08-23 20:21:21 +000063
osdl.net!shemminger6cc2f072005-02-09 22:05:41 +000064all: libtc.a tc $(TCSO)
site!shemmingerd5b48552005-02-07 18:01:21 +000065
66tc: $(TCOBJ) $(LIBNETLINK) $(LIBUTIL) $(TCLIB)
net[shemminger]!shemminger8e64f6f2004-08-30 21:07:09 +000067
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000068libtc.a: $(TCLIB)
69 $(AR) rcs $@ $(TCLIB)
70
71install: all
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000072 mkdir -p $(DESTDIR)/usr/lib/tc
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000073 install -m 0755 -s tc $(DESTDIR)$(SBINDIR)
osdl.net!shemminger69286fe2004-08-30 20:54:46 +000074 for i in $(TCSO); \
osdl.net!shemmingera2218e82004-08-23 20:21:21 +000075 do install -m 755 -s $$i $(DESTDIR)/usr/lib/tc; \
76 done
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000077
78clean:
shemminger87773db2005-06-23 17:23:53 +000079 rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \
80 rm -f emp_ematch.yacc.output
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000081
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000082q_atm.so: q_atm.c
83 $(CC) $(CFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
84
shemminger9ddbb022005-06-23 17:21:46 +000085%.yacc.c: %.y
86 $(YACC) $(YACCFLAGS) -o $@ $<
87
88%.lex.c: %.l
shemminger52d5ac32005-07-05 22:11:37 +000089 $(LEX) $(LEXFLAGS) -o$@ $<