# # 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