www.usr.com/support/gpl/USR9113_release1.0.tar.gz
[bcm963xx.git] / userapps / opensource / ebtables / Makefile
1 # ebtables Makefile
2
3 PROGNAME:=ebtables
4 PROGVERSION:=2.0.6
5 PROGDATE:=November\ 2003
6
7 MANDIR?=/usr/local/man
8 #BRCM begin
9 #CFLAGS:=-Wall -Wunused
10 CFLAGS:=-Wall -Wunused -Os -s
11 ifeq ($(strip $(BUILD_EBTABLES)), static)
12 CFLAGS += -DBUILD_STATIC
13 endif
14 #CC:=gcc
15 #BRCM end
16
17 ifeq ($(shell uname -m),sparc64)
18 CFLAGS+=-DEBT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32
19 endif
20
21 include extensions/Makefile
22
23 OBJECTS:=getethertype.o ebtables.o communication.o $(EXT_OBJS)
24
25 #KERNEL_INCLUDES?=include/
26 KERNEL_INCLUDES?=$(KERNEL_DIR)/include
27
28 #BRCM begin
29 #ETHERTYPESPATH?=/etc
30 ETHERTYPESPATH?=$(INSTALL_DIR)/etc
31 ETHERTYPESFILE:=$(ETHERTYPESPATH)/ethertypes
32
33 #BINPATH?=/sbin/
34 BINPATH?=$(INSTALL_DIR)/bin/
35 BINFILE:=$(BINPATH)ebtables
36
37 #BRCM end
38
39 PROGSPECS:=-DPROGVERSION=\"$(PROGVERSION)\" \
40         -DPROGNAME=\"$(PROGNAME)\" \
41         -DPROGDATE=\"$(PROGDATE)\" 
42 #BRCM begin
43 #       -D_PATH_ETHERTYPES=\"$(ETHERTYPESFILE)\"
44 #BRCM end
45
46
47 all: ebtables
48
49 communication.o: communication.c include/ebtables_u.h
50         $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
51
52 getethertype.o: getethertype.c include/ethernetdb.h
53         $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -Iinclude/
54
55 ebtables.o: ebtables.c include/ebtables_u.h
56         $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
57   
58 #BRCM begin
59 ether_addr.o: ether_addr.c
60         $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
61 #BRCM end
62
63 ebtables: $(OBJECTS)
64         $(CC) $(CFLAGS) -o $@ $^ -I$(KERNEL_INCLUDES)
65
66 $(MANDIR)/man8/ebtables.8: ebtables.8
67         mkdir -p $(@D)
68 #BRCM begin
69         #install -m 0644 -o root -g root $< $@
70         install -m 0644 $< $@
71 #BRCM end
72
73 $(ETHERTYPESFILE): ethertypes
74         mkdir -p $(@D)
75 #BRCM begin
76         #install -m 0644 -o root -g root $< $@
77         install -m 0644 $< $@
78 #BRCM end
79
80
81 #BRCM begin
82 dynamic: install
83
84 static: ebtables.a
85
86 ebtables.a: $(OBJECTS)
87         $(AR) rcs ebtables.a $(OBJECTS)
88 #BRCM end
89
90 .PHONY: exec
91 exec: ebtables
92 #BRCM begin
93         #install -m 0755 -o root -g root $< $(BINFILE)
94         install -m 0755 $< $(BINFILE)
95 #BRCM end
96
97 .PHONY: install
98 #BRCM begin
99 #install: $(MANDIR)/man8/ebtables.8 $(ETHERTYPESFILE) exec
100 install: $(ETHERTYPESFILE) exec
101 #BRCM end
102
103 .PHONY: clean
104 clean:
105         rm -f ebtables
106         rm -f *.o *.c~
107         rm -f extensions/*.o extensions/*.c~
108
109 DIR:=$(PROGNAME)-v$(PROGVERSION)
110 # This is used to make a new userspace release
111 .PHONY: release
112 release:
113         mkdir -p include/linux/netfilter_bridge
114         install -m 0644 -o root -g root \
115                 $(KERNEL_INCLUDES)/linux/netfilter_bridge.h include/linux/
116 # To keep possible compile error complaints about undefined ETH_P_8021Q
117 # off my back
118         install -m 0644 -o root -g root \
119                 $(KERNEL_INCLUDES)/linux/if_ether.h include/linux/
120         install -m 0644 -o root -g root \
121                 $(KERNEL_INCLUDES)/linux/netfilter_bridge/*.h \
122                 include/linux/netfilter_bridge/
123         install -m 0644 -o root -g root \
124                 include/ebtables.h include/linux/netfilter_bridge/
125         make clean
126         touch *
127         touch extensions/*
128         touch include/*
129         touch include/linux/*
130         touch include/linux/netfilter_bridge/*
131         cd ..;tar -c $(DIR) | gzip >$(DIR).tar.gz