blob: 75c2cc07baa1241ada27044545e747272d8230be [file] [log] [blame]
Bart De Schuymer1abc55d2002-06-01 19:23:47 +00001# ebtables Makefile
2
Bart De Schuymer1abc55d2002-06-01 19:23:47 +00003PROGNAME:=ebtables
Bart De Schuymer5fd425b2003-06-01 16:41:01 +00004PROGVERSION:=2.0.4
Bart De Schuymerdda86ac2003-04-01 19:02:53 +00005PROGDATE:=April\ 2003
Bart De Schuymer1abc55d2002-06-01 19:23:47 +00006
7MANDIR?=/usr/local/man
8CFLAGS:=-Wall -Wunused
Bart De Schuymer06a1b462002-09-07 11:51:13 +00009CC:=gcc
Bart De Schuymer3c1e00c2002-12-07 11:18:57 +000010
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000011include extensions/Makefile
12
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000013OBJECTS:=getethertype.o ebtables.o communication.o $(EXT_OBJS)
14
Bart De Schuymer06a96822003-02-19 20:09:51 +000015KERNEL_INCLUDES?=include/
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000016
Bart De Schuymer5fd425b2003-06-01 16:41:01 +000017ETHERTYPESPATH?=/etc
Bart De Schuymera2960382003-04-01 17:29:13 +000018ETHERTYPESFILE:=$(ETHERTYPESPATH)/ethertypes
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000019
Bart De Schuymera2960382003-04-01 17:29:13 +000020BINPATH?=/sbin/
Bart De Schuymerf43456b2003-02-15 11:12:01 +000021BINFILE:=$(BINPATH)ebtables
22
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000023PROGSPECS:=-DPROGVERSION=\"$(PROGVERSION)\" \
24 -DPROGNAME=\"$(PROGNAME)\" \
25 -DPROGDATE=\"$(PROGDATE)\" \
fnm39bb3d0a2002-11-21 10:42:56 +000026 -D_PATH_ETHERTYPES=\"$(ETHERTYPESFILE)\"
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000027
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000028
29all: ebtables
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000030
31communication.o: communication.c include/ebtables_u.h
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000032 $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
33
34getethertype.o: getethertype.c include/ethernetdb.h
fnm39bb3d0a2002-11-21 10:42:56 +000035 $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -Iinclude/
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000036
37ebtables.o: ebtables.c include/ebtables_u.h
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000038 $(CC) $(CFLAGS) $(PROGSPECS) -c -o $@ $< -I$(KERNEL_INCLUDES)
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000039
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000040ebtables: $(OBJECTS)
41 $(CC) $(CFLAGS) -o $@ $^ -I$(KERNEL_INCLUDES)
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000042
43$(MANDIR)/man8/ebtables.8: ebtables.8
44 mkdir -p $(@D)
45 install -m 0644 -o root -g root $< $@
46
Bart De Schuymer2eb1f922002-11-22 18:55:55 +000047$(ETHERTYPESFILE): ethertypes
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000048 mkdir -p $(@D)
49 install -m 0644 -o root -g root $< $@
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000050
Bart De Schuymer32890542002-07-10 20:09:56 +000051.PHONY: exec
52exec: ebtables
Bart De Schuymerf43456b2003-02-15 11:12:01 +000053 install -m 0755 -o root -g root $< $(BINFILE)
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000054
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000055.PHONY: install
Bart De Schuymerf43456b2003-02-15 11:12:01 +000056install: $(MANDIR)/man8/ebtables.8 $(ETHERTYPESFILE) exec
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000057
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000058.PHONY: clean
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000059clean:
Bart De Schuymer7ddc0e62002-06-01 21:34:16 +000060 rm -f ebtables
Bart De Schuymer1abc55d2002-06-01 19:23:47 +000061 rm -f *.o *.c~
62 rm -f extensions/*.o extensions/*.c~
Bart De Schuymer0f8c4992002-11-20 19:41:02 +000063
64DIR:=$(PROGNAME)-v$(PROGVERSION)
65# This is used to make a new userspace release
66.PHONY: release
67release:
68 mkdir -p include/linux/netfilter_bridge
69 install -m 0644 -o root -g root \
70 $(KERNEL_INCLUDES)/linux/netfilter_bridge.h include/linux/
71# To keep possible compile error complaints about undefined ETH_P_8021Q
72# off my back
73 install -m 0644 -o root -g root \
74 $(KERNEL_INCLUDES)/linux/if_ether.h include/linux/
75 install -m 0644 -o root -g root \
76 $(KERNEL_INCLUDES)/linux/netfilter_bridge/*.h \
77 include/linux/netfilter_bridge/
78 make clean
79 cd ..;tar -c $(DIR) | gzip >$(DIR).tar.gz