blob: 739f5d125c1ba7e994ff3a38243b47bb52902dc5 [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
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000057%.so: %.c
58 $(CC) $(CFLAGS) -shared -fpic $< -o $@
59
osdl.net!shemmingera2218e82004-08-23 20:21:21 +000060
osdl.net!shemminger6cc2f072005-02-09 22:05:41 +000061all: libtc.a tc $(TCSO)
site!shemmingerd5b48552005-02-07 18:01:21 +000062
63tc: $(TCOBJ) $(LIBNETLINK) $(LIBUTIL) $(TCLIB)
net[shemminger]!shemminger8e64f6f2004-08-30 21:07:09 +000064
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000065libtc.a: $(TCLIB)
66 $(AR) rcs $@ $(TCLIB)
67
68install: all
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000069 mkdir -p $(DESTDIR)/usr/lib/tc
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000070 install -m 0755 -s tc $(DESTDIR)$(SBINDIR)
osdl.net!shemminger69286fe2004-08-30 20:54:46 +000071 for i in $(TCSO); \
osdl.net!shemmingera2218e82004-08-23 20:21:21 +000072 do install -m 755 -s $$i $(DESTDIR)/usr/lib/tc; \
73 done
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000074
75clean:
shemminger87773db2005-06-23 17:23:53 +000076 rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \
77 rm -f emp_ematch.yacc.output
osdl.org!shemmingeraba5acd2004-04-15 20:56:59 +000078
osdl.net!shemmingerd3ea2e82004-07-02 17:47:53 +000079q_atm.so: q_atm.c
80 $(CC) $(CFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
81
shemminger9ddbb022005-06-23 17:21:46 +000082%.yacc.c: %.y
83 $(YACC) $(YACCFLAGS) -o $@ $<
84
85%.lex.c: %.l
86 $(LEX) $(LEXFLAGS) -o $@ $<