summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile24
1 files changed, 24 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a3f5a2c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,24 @@
+obj-m := ip6t_MAP66.o
+KVERSION := $(shell uname -r)
+KPATH := /lib/modules/$(KVERSION)/build
+IPTABLES_VERSION := $(shell ip6tables --version|sed 's/^.*\([[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\).*/\1/')
+IPTABLES_VERSION_CODE := $(shell echo $$(( $$(echo $(IPTABLES_VERSION)|sed 's/^.*\([[:digit:]]\+\)\.\([[:digit:]]\+\)\.\([[:digit:]]\+\).*/\1 * 65536 + \2 * 256 + \3/') )))
+
+all: libip6t_MAP66.so
+ $(MAKE) -C $(KPATH) M=$(PWD) modules
+
+libip6t_MAP66.so: libip6t_MAP66.o
+ gcc -shared -o $@ $<
+
+libip6t_MAP66.o: libip6t_MAP66.c ip6t_MAP66.h Makefile
+ gcc $(CFLAGS) -DIPTABLES_VERSION=\"$(IPTABLES_VERSION)\" -DIPTABLES_VERSION_CODE=$(IPTABLES_VERSION_CODE) -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Werror -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Winline -pipe -DXTABLES_LIBDIR=\"/usr/local/libexec/xtables\" -D_INIT=libip6t_MAP66_init -DPIC -fPIC -g -O2 -o $@ -c $<
+
+clean:
+ $(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
+ rm -f *.so
+ rm -f *~
+
+install: /lib/xtables/libip6t_MAP66.so
+
+/lib/xtables/libip6t_MAP66.so: libip6t_MAP66.so
+ cp $< $@