xref: /freebsd/sbin/ipf/ipsend/Makefile (revision 41edb306f05651fcaf6c74f9e3557f59f80292e1)
1*41edb306SCy Schubert#
2*41edb306SCy Schubert# Copyright (C) 2012 by Darren Reed.
3*41edb306SCy Schubert#
4*41edb306SCy Schubert# See the IPFILTER.LICENCE file for details on licencing.
5*41edb306SCy Schubert#
6*41edb306SCy SchubertIPFT=ipft_ef.o ipft_hx.o ipft_pc.o ipft_sn.o ipft_td.o ipft_tx.o opt.o
7*41edb306SCy SchubertOBJS=ipsend.o ip.o ipsopt.o y.tab.o lex.yy.o
8*41edb306SCy SchubertROBJS=ipresend.o ip.o resend.o $(IPFT)
9*41edb306SCy SchubertTOBJS=iptest.o iptests.o ip.o
10*41edb306SCy SchubertBPF=sbpf.o
11*41edb306SCy SchubertNIT=snit.o
12*41edb306SCy SchubertSUNOS4=sock.o arp.o inet_addr.o
13*41edb306SCy SchubertBSD=sock.o 44arp.o
14*41edb306SCy SchubertLINUX=lsock.o slinux.o larp.o
15*41edb306SCy SchubertLINUXK=
16*41edb306SCy SchubertTOP=..
17*41edb306SCy SchubertSUNOS5=dlcommon.o sdlpi.o arp.o inet_addr.o
18*41edb306SCy SchubertULTRIX=ultrix.o sock.o arp.o inet_addr.o
19*41edb306SCy SchubertHPUX=hpux.o sock.o arp.o inet_addr.o
20*41edb306SCy Schubert
21*41edb306SCy Schubert#CC=gcc
22*41edb306SCy SchubertDEBUG=-g
23*41edb306SCy SchubertCFLAGS=$(DEBUG) -I. -Iipf
24*41edb306SCy Schubert#
25*41edb306SCy SchubertMFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \
26*41edb306SCy Schubert	"IPFLKM=$(IPFLKM)" \
27*41edb306SCy Schubert	"IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \
28*41edb306SCy Schubert	"SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \
29*41edb306SCy Schubert	"CPUDIR=$(CPUDIR)"
30*41edb306SCy Schubert#
31*41edb306SCy Schubertall:
32*41edb306SCy Schubert	@echo "Use one of these targets:"
33*41edb306SCy Schubert	@echo "	sunos4-nit (standard SunOS 4.1.x)"
34*41edb306SCy Schubert	@echo "	sunos4-bpf (SunOS4.1.x with BPF in the kernel)"
35*41edb306SCy Schubert	@echo "	bsd-bpf (4.4BSD variant with BPF in the kernel)"
36*41edb306SCy Schubert	@echo "	linux10 (Linux 1.0 kernels)"
37*41edb306SCy Schubert	@echo "	linux12 (Linux 1.2 kernels)"
38*41edb306SCy Schubert	@echo "	linux20 (Linux 2.0 kernels)"
39*41edb306SCy Schubert	@echo "	sunos5 (Solaris 2.x)"
40*41edb306SCy Schubert
41*41edb306SCy Schubertipf:
42*41edb306SCy Schubert	-if [ ! -d iplang ] ; then ln -s ../iplang iplang; fi
43*41edb306SCy Schubert	-if [ ! -d netinet ] ; then ln -s ../netinet netinet; fi
44*41edb306SCy Schubert	-if [ ! -d ipf ] ; then ln -s .. ipf; fi
45*41edb306SCy Schubert
46*41edb306SCy Schuberty.tab.o: iplang/iplang_y.y
47*41edb306SCy Schubert	-if [ -h iplang ] ; then \
48*41edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \
49*41edb306SCy Schubert	else \
50*41edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \
51*41edb306SCy Schubert	fi
52*41edb306SCy Schubert
53*41edb306SCy Schubertlex.yy.o: iplang/iplang_l.l
54*41edb306SCy Schubert	-if [ -h iplang ] ; then \
55*41edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \
56*41edb306SCy Schubert	else \
57*41edb306SCy Schubert		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \
58*41edb306SCy Schubert	fi
59*41edb306SCy Schubert
60*41edb306SCy Schubert.c.o:
61*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c $< -o $@
62*41edb306SCy Schubert
63*41edb306SCy Schubertinstall:
64*41edb306SCy Schubert	-$(INSTALL) -cs -g wheel -m 755 -o root ipsend ipresend iptest $(BINDEST)
65*41edb306SCy Schubert
66*41edb306SCy Schubertbpf sunos4-bpf :
67*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
68*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
69*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
70*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
71*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
72*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
73*41edb306SCy Schubert
74*41edb306SCy Schubertnit sunos4 sunos4-nit :
75*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
76*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
77*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
78*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
79*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
80*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
81*41edb306SCy Schubert
82*41edb306SCy Schubertdlpi sunos5 :
83*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
84*41edb306SCy Schubert		CFLAGS="$(CFLAGS) -Dsolaris -DIPSEND" "LIBS=-lsocket -lnsl" \
85*41edb306SCy Schubert		"LLIB=-ll"
86*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
87*41edb306SCy Schubert		CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl"
88*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
89*41edb306SCy Schubert		CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl"
90*41edb306SCy Schubert
91*41edb306SCy Schubertbsd-bpf :
92*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
93*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
94*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
95*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
96*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
97*41edb306SCy Schubert		"CFLAGS=$(CFLAGS) -DDOSOCKET"
98*41edb306SCy Schubert
99*41edb306SCy Schubertlinuxrev :
100*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
101*41edb306SCy Schubert		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET -DIPSEND" $(LINUXK)
102*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
103*41edb306SCy Schubert		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK)
104*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
105*41edb306SCy Schubert		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK)
106*41edb306SCy Schubert
107*41edb306SCy Schubertlinux10:
108*41edb306SCy Schubert	make linuxrev 'LINUXK="LINUXK=-DLINUX=0100"' \
109*41edb306SCy Schubert		"INC=-I/usr/src/linux/include" "LLIB=-lfl"
110*41edb306SCy Schubert
111*41edb306SCy Schubertlinux12:
112*41edb306SCy Schubert	make linuxrev 'LINUXK="LINUXK=-DLINUX=0102"' "INC=-I/usr/src/linux" \
113*41edb306SCy Schubert		"LLIB=-lfl"
114*41edb306SCy Schubert
115*41edb306SCy Schubertlinux20:
116*41edb306SCy Schubert	make linuxrev 'LINUXK="LINUXK=-DLINUX=0200"' \
117*41edb306SCy Schubert		"INC=-I/usr/src/linux/include" "LLIB=-lfl" "ELIB=-lelf"
118*41edb306SCy Schubert
119*41edb306SCy Schubertultrix :
120*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
121*41edb306SCy Schubert		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" "LLIB=-ll"
122*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
123*41edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
124*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
125*41edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
126*41edb306SCy Schubert
127*41edb306SCy Schuberthpux9 :
128*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
129*41edb306SCy Schubert		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS="
130*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
131*41edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
132*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
133*41edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
134*41edb306SCy Schubert
135*41edb306SCy Schuberthpux11 :
136*41edb306SCy Schubert	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
137*41edb306SCy Schubert		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS="
138*41edb306SCy Schubert	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
139*41edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
140*41edb306SCy Schubert	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
141*41edb306SCy Schubert		CFLAGS="$(CFLAGS)" "LIBS="
142*41edb306SCy Schubert
143*41edb306SCy Schubertipsend: ipf $(OBJS) $(UNIXOBJS)
144*41edb306SCy Schubert	$(CC) $(OBJS) $(UNIXOBJS) -o $@ $(LIBS) $(LLIB) $(ELIB)
145*41edb306SCy Schubert
146*41edb306SCy Schubertipresend: $(ROBJS) $(UNIXOBJS)
147*41edb306SCy Schubert	$(CC) $(ROBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB)
148*41edb306SCy Schubert
149*41edb306SCy Schubertiptest: $(TOBJS) $(UNIXOBJS)
150*41edb306SCy Schubert	$(CC) $(TOBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB)
151*41edb306SCy Schubert
152*41edb306SCy Schubertipft_ef.o: ipf/ipft_ef.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
153*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_ef.c -o $@
154*41edb306SCy Schubert
155*41edb306SCy Schubertipft_hx.o: ipf/ipft_hx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
156*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_hx.c -o $@
157*41edb306SCy Schubert
158*41edb306SCy Schubertipft_pc.o: ipf/ipft_pc.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
159*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_pc.c -o $@
160*41edb306SCy Schubert
161*41edb306SCy Schubertipft_sn.o: ipf/ipft_sn.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
162*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_sn.c -o $@
163*41edb306SCy Schubert
164*41edb306SCy Schubertipft_td.o: ipf/ipft_td.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
165*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_td.c -o $@
166*41edb306SCy Schubert
167*41edb306SCy Schubertipft_tx.o: ipf/ipft_tx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
168*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_tx.c -o $@
169*41edb306SCy Schubert
170*41edb306SCy Schubertopt.o: ipf/opt.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
171*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/opt.c -o $@
172*41edb306SCy Schubert
173*41edb306SCy Schubertinet_addr.o: ipf/inet_addr.c
174*41edb306SCy Schubert	$(CC) $(CFLAGS) $(LINUXK) -c ipf/inet_addr.c -o $@
175*41edb306SCy Schubert
176*41edb306SCy Schubertclean:
177*41edb306SCy Schubert	rm -rf *.o *core a.out ipsend ipresend iptest
178*41edb306SCy Schubert	if [ -d iplang ]; then (cd iplang; $(MAKE) $(MFLAGS) clean); fi
179*41edb306SCy Schubert	if [ -d $(TOP)/iplang ]; then (cd $(TOP)/iplang; $(MAKE) $(MFLAGS) clean); fi
180*41edb306SCy Schubert
181*41edb306SCy Schubertdo-cvs:
182*41edb306SCy Schubert	find . -type d -name CVS -print | xargs /bin/rm -rf
183*41edb306SCy Schubert	find . -type f -name .cvsignore -print | xargs /bin/rm -f
184