1# $FreeBSD$ 2# 3# Common code to marry kernel config(8) goo and module building goo. 4# 5 6# Generate options files that otherwise would be built 7# in substantially similar ways through the tree. Move 8# the code here when they all produce identical results 9# (or should) 10.if !defined(KERNBUILDDIR) 11opt_global.h: 12 touch ${.TARGET} 13.if ${MACHINE} != "mips" 14 @echo "#define SMP 1" >> ${.TARGET} 15 @echo "#define MAC 1" >> ${.TARGET} 16 @echo "#define VIMAGE 1" >> ${.TARGET} 17.endif 18.if ${MK_BHYVE_SNAPSHOT} != "no" 19opt_bhyve_snapshot.h: 20 @echo "#define BHYVE_SNAPSHOT 1" > ${.TARGET} 21.endif 22opt_bpf.h: 23 echo "#define DEV_BPF 1" > ${.TARGET} 24.if ${MK_INET_SUPPORT} != "no" 25opt_inet.h: 26 @echo "#define INET 1" > ${.TARGET} 27 @echo "#define TCP_OFFLOAD 1" >> ${.TARGET} 28.endif 29.if ${MK_INET6_SUPPORT} != "no" 30opt_inet6.h: 31 @echo "#define INET6 1" > ${.TARGET} 32.endif 33.if ${MK_IPSEC_SUPPORT} != "no" 34opt_ipsec.h: 35 @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} 36.endif 37.if ${MK_RATELIMIT} != "no" 38opt_ratelimit.h: 39 @echo "#define RATELIMIT 1" > ${.TARGET} 40.endif 41opt_mrouting.h: 42 echo "#define MROUTING 1" > ${.TARGET} 43opt_printf.h: 44 echo "#define PRINTF_BUFR_SIZE 128" > ${.TARGET} 45opt_scsi.h: 46 echo "#define SCSI_DELAY 15000" > ${.TARGET} 47.if ${MK_SCTP_SUPPORT} != "no" 48opt_sctp.h: 49 @echo "#define SCTP_SUPPORT 1" > ${.TARGET} 50.endif 51opt_wlan.h: 52 echo "#define IEEE80211_DEBUG 1" > ${.TARGET} 53 echo "#define IEEE80211_SUPPORT_MESH 1" >> ${.TARGET} 54KERN_OPTS.i386=NEW_PCIB DEV_PCI 55KERN_OPTS.amd64=NEW_PCIB DEV_PCI 56KERN_OPTS.powerpc=NEW_PCIB DEV_PCI 57KERN_OPTS=MROUTING IEEE80211_DEBUG \ 58 IEEE80211_SUPPORT_MESH DEV_BPF \ 59 ${KERN_OPTS.${MACHINE}} ${KERN_OPTS_EXTRA} 60.if ${MK_BHYVE_SNAPSHOT} != "no" 61KERN_OPTS+= BHYVE_SNAPSHOT 62.endif 63.if ${MK_INET_SUPPORT} != "no" 64KERN_OPTS+= INET TCP_OFFLOAD 65.endif 66.if ${MK_INET6_SUPPORT} != "no" 67KERN_OPTS+= INET6 68.endif 69.if ${MK_IPSEC_SUPPORT} != "no" 70KERN_OPTS+= IPSEC_SUPPORT 71.endif 72.if ${MK_SCTP_SUPPORT} != "no" 73KERN_OPTS+= SCTP_SUPPORT 74.endif 75.elif !defined(KERN_OPTS) 76# Add all the options that are mentioned in any opt_*.h file when we 77# have a kernel build directory to pull them from. 78KERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u 79.export KERN_OPTS 80.endif 81 82.if !defined(NO_MODULES) && !defined(__MPATH) && !make(install) && \ 83 (empty(.MAKEFLAGS:M-V) || defined(NO_SKIP_MPATH)) 84__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m 85.export __MPATH 86.endif 87