blob: a0300fc3e1f64712d9acede846aa71dc84dda1d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# ebtables Makefile
PROGNAME:=ebtables
PROGVERSION:=2.0.5
PROGDATE:=July\ 2003
MANDIR?=/usr/local/man
CFLAGS:=-Wall -Wunused
CC:=gcc
ifeq ($(shell uname -m),sparc64)
CFLAGS+=-DEBT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32
endif
include extensions/Makefile
OBJECTS:=getethertype.o ebtables.o communication.o $(EXT_OBJS)
KERNEL_INCLUDES?=include/
ETHERTYPESPATH?=/etc
ETHERTYPESFILE:=$(ETHERTYPESPATH)/ethertypes
BINPATH?=/sbin/
BINFILE:=$(BINPATH)ebtables
PROGSPECS:=-DPROGVERSION=\"$(PROGVERSION)\" \
-DPROGNAME=\"$(PROGNAME)\" \
-DPROGDATE=\"$(PROGDATE)\" \
-D_PATH_ETHERTYPES=\"$(ETHERTYPESFILE)\"
all: ebtables
communication.o: communication.c include/ebtables_u.h
$(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
getethertype.o: getethertype.c include/ethernetdb.h
$(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -Iinclude/
ebtables.o: ebtables.c include/ebtables_u.h
$(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
ebtables: $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^ -I$(KERNEL_INCLUDES)
$(MANDIR)/man8/ebtables.8: ebtables.8
mkdir -p $(@D)
install -m 0644 -o root -g root $< $@
$(ETHERTYPESFILE): ethertypes
mkdir -p $(@D)
install -m 0644 -o root -g root $< $@
.PHONY: exec
exec: ebtables
install -m 0755 -o root -g root $< $(BINFILE)
.PHONY: install
install: $(MANDIR)/man8/ebtables.8 $(ETHERTYPESFILE) exec
.PHONY: clean
clean:
rm -f ebtables
rm -f *.o *.c~
rm -f extensions/*.o extensions/*.c~
DIR:=$(PROGNAME)-v$(PROGVERSION)
# This is used to make a new userspace release
.PHONY: release
release:
mkdir -p include/linux/netfilter_bridge
install -m 0644 -o root -g root \
$(KERNEL_INCLUDES)/linux/netfilter_bridge.h include/linux/
# To keep possible compile error complaints about undefined ETH_P_8021Q
# off my back
install -m 0644 -o root -g root \
$(KERNEL_INCLUDES)/linux/if_ether.h include/linux/
install -m 0644 -o root -g root \
$(KERNEL_INCLUDES)/linux/netfilter_bridge/*.h \
include/linux/netfilter_bridge/
install -m 0644 -o root -g root \
include/ebtables.h include/linux/netfilter_bridge/
make clean
touch *
touch extensions/*
touch include/*
touch include/linux/*
touch include/linux/netfilter_bridge/*
cd ..;tar -c $(DIR) | gzip >$(DIR).tar.gz
|