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) 11 opt_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" 19 opt_bhyve_snapshot.h: 20 @echo "#define BHYVE_SNAPSHOT 1" > ${.TARGET} 21 .endif 22 opt_bpf.h: 23 echo "#define DEV_BPF 1" > ${.TARGET} 24 .if ${MK_INET_SUPPORT} != "no" 25 opt_inet.h: 26 @echo "#define INET 1" > ${.TARGET} 27 @echo "#define TCP_OFFLOAD 1" >> ${.TARGET} 28 .endif 29 .if ${MK_INET6_SUPPORT} != "no" 30 opt_inet6.h: 31 @echo "#define INET6 1" > ${.TARGET} 32 .endif 33 .if ${MK_IPSEC_SUPPORT} != "no" 34 opt_ipsec.h: 35 @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} 36 .endif 37 .if ${MK_RATELIMIT} != "no" 38 opt_ratelimit.h: 39 @echo "#define RATELIMIT 1" > ${.TARGET} 40 .endif 41 opt_mrouting.h: 42 echo "#define MROUTING 1" > ${.TARGET} 43 opt_printf.h: 44 echo "#define PRINTF_BUFR_SIZE 128" > ${.TARGET} 45 opt_scsi.h: 46 echo "#define SCSI_DELAY 15000" > ${.TARGET} 47 .if ${MK_SCTP_SUPPORT} != "no" 48 opt_sctp.h: 49 @echo "#define SCTP_SUPPORT 1" > ${.TARGET} 50 .endif 51 opt_wlan.h: 52 echo "#define IEEE80211_DEBUG 1" > ${.TARGET} 53 echo "#define IEEE80211_SUPPORT_MESH 1" >> ${.TARGET} 54 KERN_OPTS.i386=NEW_PCIB DEV_PCI 55 KERN_OPTS.amd64=NEW_PCIB DEV_PCI 56 KERN_OPTS.powerpc=NEW_PCIB DEV_PCI 57 KERN_OPTS=MROUTING IEEE80211_DEBUG \ 58 IEEE80211_SUPPORT_MESH DEV_BPF \ 59 ${KERN_OPTS.${MACHINE}} ${KERN_OPTS_EXTRA} 60 .if ${MK_BHYVE_SNAPSHOT} != "no" 61 KERN_OPTS+= BHYVE_SNAPSHOT 62 .endif 63 .if ${MK_INET_SUPPORT} != "no" 64 KERN_OPTS+= INET TCP_OFFLOAD 65 .endif 66 .if ${MK_INET6_SUPPORT} != "no" 67 KERN_OPTS+= INET6 68 .endif 69 .if ${MK_IPSEC_SUPPORT} != "no" 70 KERN_OPTS+= IPSEC_SUPPORT 71 .endif 72 .if ${MK_SCTP_SUPPORT} != "no" 73 KERN_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. 78 KERN_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