1#! /usr/bin/make
2
3#EXT_FUNC+=802_3 nat arp arpreply ip ip6 standard log redirect vlan mark_m mark \
4#          pkttype stp among limit ulog nflog
5#EXT_TABLES+=filter nat broute
6
7EXT_FUNC+=ip standard redirect mark
8ifeq ($(USE_ARPNAT), 1)
9EXT_FUNC+=nat
10endif
11ifeq ($(DO_IPV6), 1)
12#EXT_FUNC+=ip6
13endif
14EXT_TABLES+=filter nat broute
15
16EXT_OBJS+=$(foreach T,$(EXT_FUNC), extensions/ebt_$(T).o)
17EXT_OBJS+=$(foreach T,$(EXT_TABLES), extensions/ebtable_$(T).o)
18EXT_LIBS+=$(foreach T,$(EXT_FUNC), extensions/libebt_$(T).so)
19EXT_LIBS+=$(foreach T,$(EXT_TABLES), extensions/libebtable_$(T).so)
20EXT_LIBSI+=$(foreach T,$(EXT_FUNC), -lebt_$(T))
21EXT_LIBSI+=$(foreach T,$(EXT_TABLES), -lebtable_$(T))
22
23extensions/ebt_%.so: extensions/ebt_%.o
24	$(CC) -shared -o $@ -lc $< -nostartfiles
25
26extensions/libebt_%.so: extensions/ebt_%.so
27	mv $< $@
28
29extensions/ebtable_%.so: extensions/ebtable_%.o
30	$(CC) $(LDFLAGS) -shared -o $@ -lc $< -nostartfiles
31
32extensions/libebtable_%.so: extensions/ebtable_%.so
33	mv $< $@
34
35extensions/ebt_%.o: extensions/ebt_%.c include/ebtables_u.h
36	$(CC) $(CFLAGS) $(CFLAGS_SH_LIB) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
37
38extensions/ebtable_%.o: extensions/ebtable_%.c
39	$(CC) $(CFLAGS) $(CFLAGS_SH_LIB) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
40
41