1 TCOBJ
= 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
16 TCMODULES
+= q_multiq.o
17 TCMODULES
+= q_netem.o
20 TCMODULES
+= f_route.o
22 TCMODULES
+= f_basic.o
24 TCMODULES
+= f_cgroup.o
25 TCMODULES
+= q_dsmark.o
27 TCMODULES
+= f_tcindex.o
28 TCMODULES
+= q_ingress.o
33 TCMODULES
+= m_mirred.o
35 TCMODULES
+= m_pedit.o
36 TCMODULES
+= m_skbedit.o
42 TCMODULES
+= em_nbyte.o
45 TCMODULES
+= em_meta.o
48 ifeq ($(TC_CONFIG_ATM
),y
)
52 ifeq ($(TC_CONFIG_XT
),y
)
55 ifeq ($(TC_CONFIG_XT_OLD
),y
)
58 ifeq ($(TC_CONFIG_XT_OLD_H
),y
)
59 CFLAGS
+= -DTC_CONFIG_XT_H
68 LDLIBS
+= -L.
-ltc
-lm
70 ifeq ($(SHARED_LIBS
),y
)
72 LDFLAGS
+= -Wl
,-export-dynamic
78 TCLIB
+= tc_estimator.o
81 CFLAGS
+= -DCONFIG_GACT
-DCONFIG_GACT_PROB
82 ifneq ($(IPT_LIB_DIR
),)
83 CFLAGS
+= -DIPT_LIB_DIR
=\"$(IPT_LIB_DIR
)\"
89 MODDESTDIR
:= $(DESTDIR
)$(patsubst /usr
%,%,$(LIBDIR
))/tc
92 $(CC
) $(CFLAGS
) $(LDFLAGS
) -shared
-fpic
$< -o
$@
95 all: libtc.a tc
$(TCSO
)
97 tc
: $(TCOBJ
) $(LIBNETLINK
) $(LIBUTIL
) $(TCLIB
)
100 $(AR
) rcs
$@
$(TCLIB
)
103 mkdir
-p
$(MODDESTDIR
)
104 install -m
0755 tc
$(DESTDIR
)$(SBINDIR
)
106 do
install -m
755 $$i $(MODDESTDIR
); \
108 if
[ ! -f
$(MODDESTDIR
)/m_ipt.so
]; then \
109 if
[ -f
$(MODDESTDIR
)/m_xt.so
]; \
110 then ln
-s m_xt.so
$(MODDESTDIR
)/m_ipt.so
; \
111 elif
[ -f
$(MODDESTDIR
)/m_xt_old.so
]; \
112 then ln
-s m_xt_old.so
$(MODDESTDIR
)/m_ipt.so
; \
117 rm -f
$(TCOBJ
) $(TCLIB
) libtc.a tc
*.so emp_ematch.
yacc.h
; \
118 rm -f emp_ematch.
yacc.output
121 $(CC
) $(CFLAGS
) $(LDFLAGS
) -shared
-fpic
-o q_atm.so q_atm.c
-latm
124 $(CC
) $(CFLAGS
) $(LDFLAGS
) -shared
-fpic
-o m_xt.so m_xt.c
-lxtables
126 m_xt_old.so
: m_xt_old.c
127 $(CC
) $(CFLAGS
) $(LDFLAGS
) -shared
-fpic
-o m_xt_old.so m_xt_old.c
-lxtables
130 $(YACC
) $(YACCFLAGS
) -o
$@
$<
133 $(LEX
) $(LEXFLAGS
) -o
$@
$<
135 ifneq ($(SHARED_LIBS
),y
)
138 static-syms.o
: static-syms.h
139 static-syms.h
: $(wildcard *.c
)
141 for s in
`grep -B 3 '\<dlsym' $$files | sed -n '/snprintf/{s:.*"\([^"]*\)".*:\1:;s:%s::;p}'` ; do \
142 sed
-n
'/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \