xref: /freebsd/sbin/ipf/ipsend/Makefile (revision 41edb306)
141edb306SCy Schubert#
241edb306SCy Schubert# Copyright (C) 2012 by Darren Reed.
341edb306SCy Schubert#
441edb306SCy Schubert# See the IPFILTER.LICENCE file for details on licencing.
541edb306SCy Schubert#
641edb306SCy SchubertIPFT=ipft_ef.o ipft_hx.o ipft_pc.o ipft_sn.o ipft_td.o ipft_tx.o opt.o
741edb306SCy SchubertOBJS=ipsend.o ip.o ipsopt.o y.tab.o lex.yy.o
841edb306SCy SchubertROBJS=ipresend.o ip.o resend.o $(IPFT)
941edb306SCy SchubertTOBJS=iptest.o iptests.o ip.o
1041edb306SCy SchubertBPF=sbpf.o
1141edb306SCy SchubertNIT=snit.o
1241edb306SCy SchubertSUNOS4=sock.o arp.o inet_addr.o
1341edb306SCy SchubertBSD=sock.o 44arp.o
1441edb306SCy SchubertLINUX=lsock.o slinux.o larp.o
1541edb306SCy SchubertLINUXK=
1641edb306SCy SchubertTOP=..
1741edb306SCy SchubertSUNOS5=dlcommon.o sdlpi.o arp.o inet_addr.o
1841edb306SCy SchubertULTRIX=ultrix.o sock.o arp.o inet_addr.o
1941edb306SCy SchubertHPUX=hpux.o sock.o arp.o inet_addr.o
2041edb306SCy Schubert
2141edb306SCy Schubert#CC=gcc
2241edb306SCy SchubertDEBUG=-g
2341edb306SCy SchubertCFLAGS=$(DEBUG) -I. -Iipf
2441edb306SCy Schubert#
2541edb306SCy SchubertMFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \
2641edb306SCy Schubert	"IPFLKM=$(IPFLKM)" \
2741edb306SCy Schubert	"IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \
2841edb306SCy Schubert	"SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \
2941edb306SCy Schubert	"CPUDIR=$(CPUDIR)"
3041edb306SCy Schubert#
3141edb306SCy Schubertall:
3241edb306SCy Schubert	@echo "Use one of these targets:"
3341edb306SCy Schubert	@echo "	sunos4-nit (standard SunOS 4.1.x)"
3441edb306SCy Schubert	@echo "	sunos4-bpf (SunOS4.1.x with BPF in the kernel)"
3541edb306SCy Schubert	@echo "	bsd-bpf (4.4BSD variant with BPF in the kernel)"
3641edb306SCy Schubert	@echo "	linux10 (Linux 1.0 kernels)"
3741edb306SCy Schubert	@echo "	linux12 (Linux 1.2 kernels)"
3841edb306SCy Schubert	@echo "	linux20 (Linux 2.0 kernels)"
3941edb306SCy Schubert	@echo "	sunos5 (Solaris 2.x)"
4041edb306SCy Schubert
4141edb306SCy Schubertipf:
4241edb306SCy Schubert	-if [ ! -d iplang ] ; then ln -s ../iplang iplang; fi
4341edb306SCy Schubert	-if [ ! -d netinet ] ; then ln -s ../netinet netinet; fi
4441edb306SCy Schubert	-if [ ! -d ipf ] ; then ln -s .. ipf; fi
4541edb306SCy Schubert
4641edb306SCy Schuberty.tab.o: iplang/iplang_y.y
4741edb306SCy Schubert	-if [ -h iplang ] ; then \
4841edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \
4941edb306SCy Schubert	else \
5041edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \
5141edb306SCy Schubert	fi
5241edb306SCy Schubert
5341edb306SCy Schubertlex.yy.o: iplang/iplang_l.l
5441edb306SCy Schubert	-if [ -h iplang ] ; then \
5541edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \
5641edb306SCy Schubert	else \
5741edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \
5841edb306SCy Schubert	fi
5941edb306SCy Schubert
6041edb306SCy Schubert.c.o:
6141edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c $< -o $@
6241edb306SCy Schubert
6341edb306SCy Schubertinstall:
6441edb306SCy Schubert	-$(INSTALL) -cs -g wheel -m 755 -o root ipsend ipresend iptest $(BINDEST)
6541edb306SCy Schubert
6641edb306SCy Schubertbpf sunos4-bpf :
6741edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
6841edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
6941edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
7041edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
7141edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
7241edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
7341edb306SCy Schubert
7441edb306SCy Schubertnit sunos4 sunos4-nit :
7541edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
7641edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
7741edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
7841edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
7941edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
8041edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
8141edb306SCy Schubert
8241edb306SCy Schubertdlpi sunos5 :
8341edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
8441edb306SCy Schubert		CFLAGS="$(CFLAGS) -Dsolaris -DIPSEND" "LIBS=-lsocket -lnsl" \
8541edb306SCy Schubert		"LLIB=-ll"
8641edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
8741edb306SCy Schubert		CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl"
8841edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
8941edb306SCy Schubert		CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl"
9041edb306SCy Schubert
9141edb306SCy Schubertbsd-bpf :
9241edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
9341edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
9441edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
9541edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
9641edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
9741edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
9841edb306SCy Schubert
9941edb306SCy Schubertlinuxrev :
10041edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
10141edb306SCy Schubert		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET -DIPSEND" $(LINUXK)
10241edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
10341edb306SCy Schubert		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK)
10441edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
10541edb306SCy Schubert		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK)
10641edb306SCy Schubert
10741edb306SCy Schubertlinux10:
10841edb306SCy Schubert	make linuxrev 'LINUXK="LINUXK=-DLINUX=0100"' \
10941edb306SCy Schubert		"INC=-I/usr/src/linux/include" "LLIB=-lfl"
11041edb306SCy Schubert
11141edb306SCy Schubertlinux12:
11241edb306SCy Schubert	make linuxrev 'LINUXK="LINUXK=-DLINUX=0102"' "INC=-I/usr/src/linux" \
11341edb306SCy Schubert		"LLIB=-lfl"
11441edb306SCy Schubert
11541edb306SCy Schubertlinux20:
11641edb306SCy Schubert	make linuxrev 'LINUXK="LINUXK=-DLINUX=0200"' \
11741edb306SCy Schubert		"INC=-I/usr/src/linux/include" "LLIB=-lfl" "ELIB=-lelf"
11841edb306SCy Schubert
11941edb306SCy Schubertultrix :
12041edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
12141edb306SCy Schubert		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" "LLIB=-ll"
12241edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
12341edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
12441edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
12541edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
12641edb306SCy Schubert
12741edb306SCy Schuberthpux9 :
12841edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
12941edb306SCy Schubert		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS="
13041edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
13141edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
13241edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
13341edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
13441edb306SCy Schubert
13541edb306SCy Schuberthpux11 :
13641edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
13741edb306SCy Schubert		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS="
13841edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
13941edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
14041edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
14141edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
14241edb306SCy Schubert
14341edb306SCy Schubertipsend: ipf $(OBJS) $(UNIXOBJS)
14441edb306SCy Schubert	$(CC) $(OBJS) $(UNIXOBJS) -o $@ $(LIBS) $(LLIB) $(ELIB)
14541edb306SCy Schubert
14641edb306SCy Schubertipresend: $(ROBJS) $(UNIXOBJS)
14741edb306SCy Schubert	$(CC) $(ROBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB)
14841edb306SCy Schubert
14941edb306SCy Schubertiptest: $(TOBJS) $(UNIXOBJS)
15041edb306SCy Schubert	$(CC) $(TOBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB)
15141edb306SCy Schubert
15241edb306SCy Schubertipft_ef.o: ipf/ipft_ef.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
15341edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_ef.c -o $@
15441edb306SCy Schubert
15541edb306SCy Schubertipft_hx.o: ipf/ipft_hx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
15641edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_hx.c -o $@
15741edb306SCy Schubert
15841edb306SCy Schubertipft_pc.o: ipf/ipft_pc.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
15941edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_pc.c -o $@
16041edb306SCy Schubert
16141edb306SCy Schubertipft_sn.o: ipf/ipft_sn.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
16241edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_sn.c -o $@
16341edb306SCy Schubert
16441edb306SCy Schubertipft_td.o: ipf/ipft_td.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
16541edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_td.c -o $@
16641edb306SCy Schubert
16741edb306SCy Schubertipft_tx.o: ipf/ipft_tx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
16841edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_tx.c -o $@
16941edb306SCy Schubert
17041edb306SCy Schubertopt.o: ipf/opt.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
17141edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/opt.c -o $@
17241edb306SCy Schubert
17341edb306SCy Schubertinet_addr.o: ipf/inet_addr.c
17441edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/inet_addr.c -o $@
17541edb306SCy Schubert
17641edb306SCy Schubertclean:
17741edb306SCy Schubert	rm -rf *.o *core a.out ipsend ipresend iptest
17841edb306SCy Schubert	if [ -d iplang ]; then (cd iplang; $(MAKE) $(MFLAGS) clean); fi
17941edb306SCy Schubert	if [ -d $(TOP)/iplang ]; then (cd $(TOP)/iplang; $(MAKE) $(MFLAGS) clean); fi
18041edb306SCy Schubert
18141edb306SCy Schubertdo-cvs:
18241edb306SCy Schubert	find . -type d -name CVS -print | xargs /bin/rm -rf
18341edb306SCy Schubert	find . -type f -name .cvsignore -print | xargs /bin/rm -f
184