Makefile revision 60841
1# 2# Copyright (C) 1993-1998 by Darren Reed. 3# 4# Redistribution and use in source and binary forms are permitted 5# provided that this notice is preserved and due credit is given 6# to the original author and the contributors. 7# 8BINDEST=/usr/sbin 9SBINDEST=/sbin 10MANDIR=/usr/share/man 11CC=cc -Wall -Wuninitialized -Wstrict-prototypes -Werror -O 12CFLAGS=-g -I$(TOP) 13# 14# For NetBSD/FreeBSD 15# 16DEVFS!=/usr/bin/lsvfs 2>&1 | sed -n 's/.*devfs.*/-DDEVFS/p' 17CPU!=uname -m 18INC=-I/usr/include -I/sys -I/sys/sys -I/sys/arch 19DEF=-D$(CPU) -D__$(CPU)__ -DINET -DKERNEL -D_KERNEL $(INC) $(DEVFS) 20IPDEF=$(DEF) -DGATEWAY -DDIRECTED_BROADCAST 21VNODESHDIR=/sys/kern 22MLD=$(ML) vnode_if.h 23ML=mln_ipl.c 24IPFILC=ip_fil.c 25LKM=if_ipl.o 26DLKM= 27MFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \ 28 'CFLAGS=$(CFLAGS) $(SOLARIS2)' "IPFLKM=$(IPFLKM)" \ 29 "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \ 30 "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \ 31 "CPUDIR=$(CPUDIR)" 32# 33########## ########## ########## ########## ########## ########## ########## 34# 35CP=/bin/cp 36RM=/bin/rm 37CHMOD=/bin/chmod 38INSTALL=install 39# 40MODOBJS=ip_fil.o fil_k.o ml_ipl.o ip_nat.o ip_frag.o ip_state.o ip_proxy.o \ 41 ip_auth.o ip_log.o 42DFLAGS=$(IPFLKM) $(IPFLOG) $(DEF) $(DLKM) 43IPF=ipf.o parse.o common.o opt.o facpri.o 44IPT=ipt.o parse.o common.o fil.o ipft_sn.o ipft_ef.o ipft_td.o ipft_pc.o \ 45 opt.o ipft_tx.o misc.o ip_frag_u.o ip_state_u.o ip_nat_u.o ip_proxy_u.o \ 46 ip_auth_u.o ipft_hx.o ip_fil_u.o natparse.o facpri.o 47IPNAT=ipnat.o kmem.o natparse.o common.o 48FILS=fils.o parse.o kmem.o opt.o facpri.o common.o 49 50build all: ipf ipfs ipfstat ipftest ipmon ipnat $(LKM) 51 52ipfstat: $(FILS) 53 $(CC) $(DEBUG) $(CFLAGS) $(STATETOP_CFLAGS) $(STATETOP_INC) $(FILS) \ 54 -o $@ $(LIBS) $(STATETOP_LIB) 55 56ipf: $(IPF) 57 $(CC) $(DEBUG) $(CFLAGS) $(IPF) -o $@ $(LIBS) 58 /bin/rm -f $(TOP)/ipf 59 ln -s `pwd`/ipf $(TOP) 60 61ipftest: $(IPT) 62 $(CC) $(DEBUG) $(CFLAGS) $(IPT) -o $@ $(LIBS) 63 /bin/rm -f $(TOP)/ipftest 64 ln -s `pwd`/ipftest $(TOP) 65 66ipnat: $(IPNAT) 67 $(CC) $(DEBUG) $(CFLAGS) $(IPNAT) -o $@ $(LIBS) 68 69ipfs: ipfs.o 70 $(CC) $(DEBUG) $(CFLAGS) ipfs.o -o $@ $(LIBS) 71 72tests: 73 (cd test; make ) 74 75fils.o: $(TOP)/fils.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_frag.h \ 76 $(TOP)/ip_compat.h $(TOP)/ip_state.h $(TOP)/ip_nat.h 77 $(CC) $(DEBUG) $(CFLAGS) $(STATETOP_CFLAGS) $(STATETOP_INC) \ 78 -c $(TOP)/fils.c -o $@ 79 80ipfs.o: $(TOP)/ipfs.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_state.h \ 81 $(TOP)/ip_nat.h 82 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipfs.c -o $@ 83 84fil.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h 85 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/fil.c -o $@ 86 87fil_k.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h \ 88 $(TOP)/ipl.h 89 $(CC) $(DEBUG) $(CFLAGS) $(POLICY) $(DFLAGS) -c $(TOP)/fil.c -o $@ 90 91ipf.o: $(TOP)/ipf.c $(TOP)/ip_fil.h $(TOP)/ipf.h 92 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipf.c -o $@ 93 94ipt.o: $(TOP)/ipt.c $(TOP)/ip_fil.h $(TOP)/ipt.h $(TOP)/ipf.h 95 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipt.c -o $@ 96 97misc.o: $(TOP)/misc.c $(TOP)/ip_fil.h $(TOP)/ipt.h $(TOP)/ipf.h 98 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/misc.c -o $@ 99 100opt.o: $(TOP)/opt.c $(TOP)/ip_fil.h $(TOP)/ipf.h 101 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/opt.c -o $@ 102 103ipnat.o: $(TOP)/ipnat.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_nat.h 104 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipnat.c -o $@ 105 106natparse.o: $(TOP)/natparse.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_nat.h \ 107 $(TOP)/ip_compat.h 108 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/natparse.c -o $@ 109 110ipft_sn.o: $(TOP)/ipft_sn.c $(TOP)/ipt.h $(TOP)/ipf.h $(TOP)/ip_fil.h \ 111 $(TOP)/snoop.h 112 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_sn.c -o $@ 113 114ipft_ef.o: $(TOP)/ipft_ef.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h 115 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_ef.c -o $@ 116 117ipft_td.o: $(TOP)/ipft_td.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h 118 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_td.c -o $@ 119 120ipft_pc.o: $(TOP)/ipft_pc.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h 121 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_pc.c -o $@ 122 123ipft_tx.o: $(TOP)/ipft_tx.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h 124 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_tx.c -o $@ 125 126ipft_hx.o: $(TOP)/ipft_hx.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h 127 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_hx.c -o $@ 128 129ip_nat_u.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h 130 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_nat.c -o $@ 131 132ip_proxy_u.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \ 133 $(TOP)/ip_fil.h $(TOP)/ip_ftp_pxy.c $(TOP)/ip_nat.h 134 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_proxy.c -o $@ 135 136ip_frag_u.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h \ 137 $(TOP)/ip_fil.h 138 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_frag.c -o $@ 139 140ip_state_u.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \ 141 $(TOP)/ip_fil.h $(TOP)/ip_nat.h 142 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_state.c -o $@ 143 144ip_auth_u.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \ 145 $(TOP)/ip_fil.h 146 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_auth.c -o $@ 147 148ip_fil_u.o: $(TOP)/$(IPFILC) $(TOP)/ip_fil.h $(TOP)/ip_compat.h 149 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/$(IPFILC) -o $@ 150 151if_ipl.o: $(MODOBJS) 152 ld -r $(MODOBJS) -o $(LKM) 153 ${RM} -f if_ipl 154 155ipf.ko ipl.ko: $(MODOBJS) 156 gensetdefs $(MODOBJS) 157 $(CC) $(DEBUG) $(CFLAGS) -c setdef0.c 158 $(CC) $(DEBUG) $(CFLAGS) -c setdef1.c 159 ld -Bshareable -o $(LKM) setdef0.o $(MODOBJS) setdef1.o 160 161ip_nat.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h 162 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_nat.c -o $@ 163 164ip_frag.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h 165 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_frag.c -o $@ 166 167ip_state.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \ 168 $(TOP)/ip_fil.h $(TOP)/ip_nat.h 169 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_state.c -o $@ 170 171ip_proxy.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \ 172 $(TOP)/ip_fil.h $(TOP)/ip_ftp_pxy.c $(TOP)/ip_raudio_pxy.c \ 173 $(TOP)/ip_nat.h 174 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_proxy.c -o $@ 175 176ip_auth.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \ 177 $(TOP)/ip_fil.h 178 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_auth.c -o $@ 179 180ip_fil.o: $(TOP)/$(IPFILC) $(TOP)/ip_fil.h $(TOP)/ip_compat.h $(TOP)/ip_nat.h 181 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/$(IPFILC) -o $@ 182 183ip_log.o: $(TOP)/ip_log.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h 184 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_log.c -o $@ 185 186vnode_if.h: $(VNODESHDIR)/vnode_if.sh $(VNODESHDIR)/vnode_if.src 187 mkdir -p ../sys 188 sh $(VNODESHDIR)/vnode_if.sh $(VNODESHDIR)/vnode_if.src 189 if [ -f ../sys/vnode_if.h ] ; then mv ../sys/vnode_if.h .; fi 190 rmdir ../sys 191 192ml_ipl.o: $(TOP)/$(MLD) $(TOP)/ipl.h 193 -/bin/rm -f vnode_if.c 194 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/$(ML) -o $@ 195 196kmem.o: $(TOP)/kmem.c 197 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/kmem.c -o $@ 198 199parse.o: $(TOP)/parse.c $(TOP)/ip_fil.h 200 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/parse.c -o $@ 201 202common.o: $(TOP)/common.c $(TOP)/ip_fil.h 203 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/common.c -o $@ 204 205facpri.o: $(TOP)/facpri.c $(TOP)/facpri.h 206 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/facpri.c -o $@ 207 208ipmon: $(TOP)/ipmon.c 209 $(CC) $(DEBUG) $(CFLAGS) $(LOGFAC) $(TOP)/ipmon.c -o $@ $(LIBS) 210 211clean: 212 ${RM} -f *.core *.o ipt fils ipf ipfstat ipftest ipmon if_ipl ipnat \ 213 vnode_if.h $(LKM) ioconf.h *.ko setdef1.c setdef0.c setdefs.h \ 214 y.tab.? lex.yy.c ipfs 215 216 ${MAKE} -f Makefile.ipsend ${MFLAGS} clean 217 -(for i in *; do \ 218 if [ -d $${i} -a -f $${i}/Makefile ] ; then \ 219 cd $${i}; (make clean); cd ..; \ 220 rm $${i}/Makefile $${i}/Makefile.ipsend; \ 221 rmdir $${i}; \ 222 fi \ 223 done) 224 225install: 226 -$(CP) $(TOP)/ip_fil.h /usr/include/netinet/ip_fil.h 227 -$(CHMOD) 444 /usr/include/netinet/ip_fil.h 228 -if [ -d /lkm -a -f if_ipl.o ] ; then \ 229 cp if_ipl.o /lkm; \ 230 fi 231 -$(INSTALL) -cs -g wheel -m 755 -o root ipf $(SBINDEST) 232 -$(INSTALL) -cs -g wheel -m 755 -o root ipfs $(SBINDEST) 233 -$(INSTALL) -cs -g wheel -m 755 -o root ipnat $(SBINDEST) 234 -$(INSTALL) -cs -g wheel -m 755 -o root ipfstat $(SBINDEST) 235 -$(INSTALL) -cs -g wheel -m 755 -o root ipmon $(BINDEST) 236 -$(INSTALL) -cs -g wheel -m 755 -o root ipftest $(BINDEST) 237 (cd $(TOP)/man; make INSTALL=$(INSTALL) MANDIR=$(MANDIR) install; cd $(TOP)) 238