Makefile revision 63c7d26f941df1c7aa4a18bac5b3a777bc66216a
1TCOBJ= tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o \
2       tc_monitor.o m_police.o m_estimator.o m_action.o \
3       m_ematch.o emp_ematch.yacc.o emp_ematch.lex.o
4
5include ../Config
6
7TCMODULES :=
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 += q_rr.o
15TCMODULES += q_multiq.o
16TCMODULES += q_netem.o
17TCMODULES += f_rsvp.o
18TCMODULES += f_u32.o
19TCMODULES += f_route.o
20TCMODULES += f_fw.o
21TCMODULES += f_basic.o
22TCMODULES += f_flow.o
23TCMODULES += q_dsmark.o
24TCMODULES += q_gred.o
25TCMODULES += f_tcindex.o
26TCMODULES += q_ingress.o
27TCMODULES += q_hfsc.o
28TCMODULES += q_htb.o
29TCMODULES += q_drr.o
30TCMODULES += m_gact.o
31TCMODULES += m_mirred.o
32TCMODULES += m_nat.o
33TCMODULES += m_pedit.o
34TCMODULES += m_skbedit.o
35TCMODULES += p_ip.o
36TCMODULES += p_icmp.o
37TCMODULES += p_tcp.o
38TCMODULES += p_udp.o
39TCMODULES += em_nbyte.o
40TCMODULES += em_cmp.o
41TCMODULES += em_u32.o
42TCMODULES += em_meta.o
43
44
45ifeq ($(TC_CONFIG_XT),y)
46  TCMODULES += m_xt.o
47  LDLIBS += -lxtables
48else
49  ifeq ($(TC_CONFIG_XT_H),y)
50	CFLAGS += -DTC_CONFIG_XT_H
51	TCMODULES += m_xt.o
52	LDLIBS += -lxtables
53  else
54  TCMODULES += m_ipt.o
55  endif
56endif
57
58TCOBJ += $(TCMODULES)
59LDLIBS += -L. -ltc -lm -ldl
60
61TCLIB := tc_core.o
62TCLIB += tc_red.o
63TCLIB += tc_cbq.o
64TCLIB += tc_estimator.o
65TCLIB += tc_stab.o
66
67CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PROB
68
69TCSO :=
70ifeq ($(TC_CONFIG_ATM),y)
71  TCSO += q_atm.so
72endif
73
74
75LDFLAGS += -Wl,-export-dynamic
76
77YACC := bison
78LEX := flex
79
80%.so: %.c
81	$(CC) $(CFLAGS) -shared -fpic $< -o $@
82
83
84all: libtc.a tc $(TCSO)
85
86tc: $(TCOBJ) $(LIBNETLINK) $(LIBUTIL) $(TCLIB)
87
88libtc.a: $(TCLIB)
89	$(AR) rcs $@ $(TCLIB)
90
91install: all
92	mkdir -p $(DESTDIR)$(LIBDIR)/tc
93	install -m 0755 tc $(DESTDIR)$(SBINDIR)
94	for i in $(TCSO); \
95	do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \
96	done
97
98clean:
99	rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \
100	rm -f emp_ematch.yacc.output
101
102q_atm.so: q_atm.c
103	$(CC) $(CFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
104
105%.yacc.c: %.y
106	$(YACC) $(YACCFLAGS) -o $@ $<
107
108%.lex.c: %.l
109	$(LEX) $(LEXFLAGS) -o$@ $<
110