Makefile revision 255332
1139826Simp#
253541Sshin# Copyright (C) 2012 by Darren Reed.
353541Sshin#
453541Sshin# See the IPFILTER.LICENCE file for details on licencing.
553541Sshin#
653541SshinIPFT=ipft_ef.o ipft_hx.o ipft_pc.o ipft_sn.o ipft_td.o ipft_tx.o opt.o
753541SshinOBJS=ipsend.o ip.o ipsopt.o y.tab.o lex.yy.o
853541SshinROBJS=ipresend.o ip.o resend.o $(IPFT)
953541SshinTOBJS=iptest.o iptests.o ip.o
1053541SshinBPF=sbpf.o
1153541SshinNIT=snit.o
1253541SshinSUNOS4=sock.o arp.o inet_addr.o
1353541SshinBSD=sock.o 44arp.o
1453541SshinLINUX=lsock.o slinux.o larp.o
1553541SshinLINUXK=
1653541SshinTOP=..
1753541SshinSUNOS5=dlcommon.o sdlpi.o arp.o inet_addr.o
1853541SshinULTRIX=ultrix.o sock.o arp.o inet_addr.o
1953541SshinHPUX=hpux.o sock.o arp.o inet_addr.o
2053541Sshin
2153541Sshin#CC=gcc
2253541SshinDEBUG=-g
2353541SshinCFLAGS=$(DEBUG) -I. -Iipf
2453541Sshin#
2553541SshinMFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \
2653541Sshin	"IPFLKM=$(IPFLKM)" \
2753541Sshin	"IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \
28174510Sobrien	"SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \
29174510Sobrien	"CPUDIR=$(CPUDIR)"
3053541Sshin#
3153541Sshinall:
32139826Simp	@echo "Use one of these targets:"
3353541Sshin	@echo "	sunos4-nit (standard SunOS 4.1.x)"
3453541Sshin	@echo "	sunos4-bpf (SunOS4.1.x with BPF in the kernel)"
3553541Sshin	@echo "	bsd-bpf (4.4BSD variant with BPF in the kernel)"
3653541Sshin	@echo "	linux10 (Linux 1.0 kernels)"
3753541Sshin	@echo "	linux12 (Linux 1.2 kernels)"
3853541Sshin	@echo "	linux20 (Linux 2.0 kernels)"
3953541Sshin	@echo "	sunos5 (Solaris 2.x)"
4053541Sshin
4153541Sshinipf:
4253541Sshin	-if [ ! -d iplang ] ; then ln -s ../iplang iplang; fi
4353541Sshin	-if [ ! -d netinet ] ; then ln -s ../netinet netinet; fi
4453541Sshin	-if [ ! -d ipf ] ; then ln -s .. ipf; fi
4553541Sshin
4653541Sshiny.tab.o: iplang/iplang_y.y
4753541Sshin	-if [ -h iplang ] ; then \
4853541Sshin		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \
4953541Sshin	else \
5053541Sshin		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \
5153541Sshin	fi
5253541Sshin
5353541Sshinlex.yy.o: iplang/iplang_l.l
5453541Sshin	-if [ -h iplang ] ; then \
5553541Sshin		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \
5653541Sshin	else \
5753541Sshin		(cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \
5853541Sshin	fi
5953541Sshin
6053541Sshin.c.o:
61174510Sobrien	$(CC) $(CFLAGS) $(LINUXK) -c $< -o $@
6253541Sshin
6353541Sshininstall:
6453541Sshin	-$(INSTALL) -cs -g wheel -m 755 -o root ipsend ipresend iptest $(BINDEST)
6553541Sshin
6653541Sshinbpf sunos4-bpf :
6753541Sshin	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
6853541Sshin		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
6953541Sshin	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
7053541Sshin		"CFLAGS=$(CFLAGS) -DDOSOCKET"
7153541Sshin	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \
7262587Sitojun		"CFLAGS=$(CFLAGS) -DDOSOCKET"
7362587Sitojun
7462587Sitojunnit sunos4 sunos4-nit :
75170275Sjinmei	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
76170275Sjinmei		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
7762587Sitojun	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
78170275Sjinmei		"CFLAGS=$(CFLAGS) -DDOSOCKET"
7962587Sitojun	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \
8062587Sitojun		"CFLAGS=$(CFLAGS) -DDOSOCKET"
8162587Sitojun
8262587Sitojundlpi sunos5 :
8362587Sitojun	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
8462587Sitojun		CFLAGS="$(CFLAGS) -Dsolaris -DIPSEND" "LIBS=-lsocket -lnsl" \
85121345Sume		"LLIB=-ll"
86184307Srwatson	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
8753541Sshin		CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl"
8853541Sshin	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \
8953541Sshin		CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl"
9062587Sitojun
9162587Sitojunbsd-bpf :
9262587Sitojun	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
9362587Sitojun		"CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll"
9462587Sitojun	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
9562587Sitojun		"CFLAGS=$(CFLAGS) -DDOSOCKET"
9662587Sitojun	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \
9753541Sshin		"CFLAGS=$(CFLAGS) -DDOSOCKET"
9853541Sshin
9953541Sshinlinuxrev :
10053541Sshin	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
101191672Sbms		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET -DIPSEND" $(LINUXK)
102191672Sbms	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
103191672Sbms		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK)
104191672Sbms	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \
105191672Sbms		CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK)
106191672Sbms
10753541Sshinlinux10:
10853541Sshin	make linuxrev 'LINUXK="LINUXK=-DLINUX=0100"' \
10953541Sshin		"INC=-I/usr/src/linux/include" "LLIB=-lfl"
110191672Sbms
111191672Sbmslinux12:
112191672Sbms	make linuxrev 'LINUXK="LINUXK=-DLINUX=0102"' "INC=-I/usr/src/linux" \
113191672Sbms		"LLIB=-lfl"
11453541Sshin
11553541Sshinlinux20:
11653541Sshin	make linuxrev 'LINUXK="LINUXK=-DLINUX=0200"' \
11753541Sshin		"INC=-I/usr/src/linux/include" "LLIB=-lfl" "ELIB=-lelf"
11853541Sshin
11953541Sshinultrix :
12053541Sshin	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
12153541Sshin		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" "LLIB=-ll"
12253541Sshin	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
12353541Sshin		CFLAGS="$(CFLAGS)" "LIBS="
12453541Sshin	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \
12562587Sitojun		CFLAGS="$(CFLAGS)" "LIBS="
12662587Sitojun
12753541Sshinhpux9 :
128121472Sume	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
129121472Sume		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS="
130121472Sume	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
131121472Sume		CFLAGS="$(CFLAGS)" "LIBS="
132121472Sume	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
133121472Sume		CFLAGS="$(CFLAGS)" "LIBS="
134121472Sume
135121472Sumehpux11 :
13653541Sshin	make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
13753541Sshin		CFLAGS="$(CFLAGS) -DIPSEND" "LIBS="
13878064Sume	make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
13978064Sume		CFLAGS="$(CFLAGS)" "LIBS="
14078064Sume	make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \
14178064Sume		CFLAGS="$(CFLAGS)" "LIBS="
14278064Sume
143121472Sumeipsend: ipf $(OBJS) $(UNIXOBJS)
144121472Sume	$(CC) $(OBJS) $(UNIXOBJS) -o $@ $(LIBS) $(LLIB) $(ELIB)
145121472Sume
14653541Sshinipresend: $(ROBJS) $(UNIXOBJS)
14778064Sume	$(CC) $(ROBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB)
14878064Sume
14978064Sumeiptest: $(TOBJS) $(UNIXOBJS)
15078064Sume	$(CC) $(TOBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB)
15178064Sume
15278064Sumeipft_ef.o: ipf/ipft_ef.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
15378064Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_ef.c -o $@
15478064Sume
15578064Sumeipft_hx.o: ipf/ipft_hx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
156121472Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_hx.c -o $@
157121472Sume
158121472Sumeipft_pc.o: ipf/ipft_pc.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
159121472Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_pc.c -o $@
160121472Sume
161121472Sumeipft_sn.o: ipf/ipft_sn.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
162121472Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_sn.c -o $@
163121472Sume
164121472Sumeipft_td.o: ipf/ipft_td.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
165121472Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_td.c -o $@
166121472Sume
167121472Sumeipft_tx.o: ipf/ipft_tx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
168121472Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_tx.c -o $@
169121472Sume
170121472Sumeopt.o: ipf/opt.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h
171121472Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/opt.c -o $@
172121472Sume
173121472Sumeinet_addr.o: ipf/inet_addr.c
174121472Sume	$(CC) $(CFLAGS) $(LINUXK) -c ipf/inet_addr.c -o $@
175121472Sume
176121472Sumeclean:
17753541Sshin	rm -rf *.o *core a.out ipsend ipresend iptest
17853541Sshin	if [ -d iplang ]; then (cd iplang; $(MAKE) $(MFLAGS) clean); fi
17978064Sume	if [ -d $(TOP)/iplang ]; then (cd $(TOP)/iplang; $(MAKE) $(MFLAGS) clean); fi
18078064Sume
18178064Sumedo-cvs:
18278064Sume	find . -type d -name CVS -print | xargs /bin/rm -rf
18353541Sshin	find . -type f -name .cvsignore -print | xargs /bin/rm -f
184253081Sae