diff options
Diffstat (limited to 'Linux/Makefile.kbuild')
-rw-r--r-- | Linux/Makefile.kbuild | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/Linux/Makefile.kbuild b/Linux/Makefile.kbuild new file mode 100644 index 0000000000000..bab8df0a99159 --- /dev/null +++ b/Linux/Makefile.kbuild @@ -0,0 +1,198 @@ +# +# Copyright (C) 2012 by Darren Reed. +# +# See the IPFILTER.LICENCE file for details on licencing. +# +CONFIG_IPFILTER=m +# +# For Linux +# +CPUTYPE:=$(shell uname -m | sed -e 's/i.86/i386/' -e 's/sun4u/sparc64/' -e 's/arm.*/arm/' -e 's/sa110/arm/') +ARCH:=$(shell uname -m | sed -e 's/i.86/i386/') +OBJ=. +TOP=../.. +CPU:=$(shell uname -i) +KREV:=$(shell uname -r) +MODDIR=/lib/modules/$(KREV) +IPV4DIR=$(MODDIR)/kernel/net/ipv4/ +CPUDIR= +DEBUG=-g +# +########## ########## ########## ########## ########## ########## ########## +# +# +MODOBJS=$(OBJ)/linuxm.o $(OBJ)/ip_film.o $(OBJ)/fil.o $(OBJ)/ip_nat.o \ + $(OBJ)/ip_frag.o $(OBJ)/ip_scan.o $(OBJ)/ip_sync.o \ + $(OBJ)/ip_state.o $(OBJ)/ip_proxy.o $(OBJ)/ip_auth.o \ + $(OBJ)/ip_lookup.o $(OBJ)/ip_pool.o $(OBJ)/ip_htable.o \ + $(OBJ)/ip_dstlist.o $(OBJ)/ip_log.o $(OBJ)/radix.o $(OBJ)/md5.o + +obj-$(CONFIG_IPFILTER) += ipfilter.o +ipfilter-objs =$(MODOBJS) + +all: ipflkm + +ipflkm: + if [ $(LINUX) -lt 20499 ] ; then \ + make $(OBJ)/ipfilter.o ; \ + else \ + make $(OBJ)/ipflkm.o ; \ + fi + +$(OBJ)/ipfilter.o: $(MODOBJS) + ld -r $(MODOBJS) -o $(OBJ)/ipfilter.o + ${RM} -f $(OBJ)/ipfilter + + +fil.c $(obj)//fil.c: $(TOP)/fil.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_nat.c $(obj)//ip_nat.c: $(TOP)/ip_nat.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_frag.c $(obj)//ip_frag.c: $(TOP)/ip_frag.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_state.c $(obj)//ip_state.c: $(TOP)/ip_state.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_proxy.c $(obj)//ip_proxy.c: $(TOP)/ip_proxy.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_auth.c $(obj)//ip_auth.c: $(TOP)/ip_auth.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_lookup.c $(obj)//ip_lookup.c: $(TOP)/ip_lookup.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_htable.c $(obj)//ip_htable.c: $(TOP)/ip_htable.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_dstlist.c $(obj)//ip_dstlist.c: $(TOP)/ip_dstlist.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_pool.c $(obj)//ip_pool.c: $(TOP)/ip_pool.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_scan.c $(obj)//ip_scan.c: $(TOP)/ip_scan.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_sync.c $(obj)//ip_sync.c: $(TOP)/ip_sync.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_log.c $(obj)//ip_log.c: $(TOP)/ip_log.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +radix.c $(obj)//radix.c: $(TOP)/radix.c Makefile + sed -e '/^#/,$$d' $< > $@ + echo '#include "ipf-linux.h"' >> $@ + sed -ne '/END OF INCLUDES/,$$p' $< >> $@ + +ip_rules.c: $(TOP)/rules/ip_rules $(TOP)/tools/ipfcomp.o $(OBJ)/ipf + $(OBJ)/ipf -cc -nf $(TOP)/rules/ip_rules + +md5.c $(obj)//md5.c: $(TOP)/md5.c Makefile + /bin/rm -f md5.c + cp $< $(obj)//md5.c + +$(TOP)/ip_rules.h: ip_rules.c + if [ ! -f $(TOP)/ip_rules.h ] ; then \ + /bin/mv -f ip_rules.h $(TOP); \ + else \ + touch $(TOP)/ip_rules.h; \ + fi + +$(OBJ)/ip_log.o: ip_log.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ + $(obj)/../ipf-linux.h +$(obj)//linuxm.o: $(obj)/linuxm.c +$(obj)//fil.o: $(obj)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h \ + $(obj)/../ipf-linux.h +$(obj)//ip_auth.o: $(obj)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_film.o: $(obj)/ip_film.c +$(obj)//ip_frag.o: $(obj)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_htable.o: $(obj)/ip_htable.c $(TOP)/ip_htable.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_dstlist.o: $(obj)/ip_dstlist.c $(TOP)/ip_dstlist.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_lookup.o: $(obj)/ip_lookup.c $(TOP)/ip_lookup.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_nat.o: $(obj)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_pool.o: $(obj)/ip_pool.c $(TOP)/ip_pool.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_proxy.o: $(obj)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_scan.o: $(obj)/ip_scan.c $(TOP)/ip_scan.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//ip_state.o: $(obj)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(TOP)/ip_nat.h $(obj)/../ipf-linux.h +$(obj)//ip_sync.o: $(obj)/ip_sync.c $(TOP)/ip_sync.h $(TOP)/ip_compat.h \ + $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)//radix.o: $(obj)/radix.c $(TOP)/radix_ipf.h $(obj)/../ipf-linux.h +$(obj)//md5.o: md5.c $(TOP)/md5.h +$(obj)/$(CPUDIR)/linux.o: $(obj)/$(CPUDIR)/linux.c +$(obj)/$(CPUDIR)/fil.o: $(obj)/$(CPUDIR)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h \ + $(TOP)/ip_compat.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_auth.o: $(obj)/$(CPUDIR)/ip_auth.c $(TOP)/ip_auth.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_film.o: $(obj)/$(CPUDIR)/ip_film.c +$(obj)/$(CPUDIR)/ip_frag.o: $(obj)/$(CPUDIR)/ip_frag.c $(TOP)/ip_frag.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_htable.o: $(obj)/$(CPUDIR)/ip_htable.c $(TOP)/ip_htable.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_dstlist.o: $(obj)/$(CPUDIR)/ip_dstlist.c \ + $(TOP)/ip_dstlist.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ + $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_lookup.o: $(obj)/$(CPUDIR)/ip_lookup.c $(TOP)/ip_lookup.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_nat.o: $(obj)/$(CPUDIR)/ip_nat.c $(TOP)/ip_nat.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_pool.o: $(obj)/$(CPUDIR)/ip_pool.c $(TOP)/ip_pool.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_proxy.o: $(obj)/$(CPUDIR)/ip_proxy.c $(TOP)/ip_proxy.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_scan.o: $(obj)/$(CPUDIR)/ip_scan.c $(TOP)/ip_scan.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_state.o: $(obj)/$(CPUDIR)/ip_state.c $(TOP)/ip_state.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(TOP)/ip_nat.h \ + $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/ip_sync.o: $(obj)/$(CPUDIR)/ip_sync.c $(TOP)/ip_sync.h \ + $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(obj)/../ipf-linux.h +$(obj)/$(CPUDIR)/radix.o: $(obj)/$(CPUDIR)/radix.c $(TOP)/radix_ipf.h \ + ipf-linux.h +$(obj)/$(CPUDIR)/md5.o: md5.c $(TOP)/md5.h + +$(obj)/$(CPUDIR)/linuxm.c $(obj)//linuxm.c: $(TOP)/linux.c + @if [ ! -h $@ ] ; then ln -s $< $@; fi + +$(obj)/$(CPUDIR)/ip_film.c $(obj)//ip_film.c: $(TOP)/ip_fil_linux.c + @if [ ! -h $@ ] ; then ln -s $< $@; fi + |