135c4406dSWarner Losh# $FreeBSD$ 235c4406dSWarner Losh# 335c4406dSWarner Losh# Common code to marry kernel config(8) goo and module building goo. 435c4406dSWarner Losh# 535c4406dSWarner Losh 635c4406dSWarner Losh# Generate options files that otherwise would be built 735c4406dSWarner Losh# in substantially similar ways through the tree. Move 835c4406dSWarner Losh# the code here when they all produce identical results 935c4406dSWarner Losh# (or should) 1035c4406dSWarner Losh.if !defined(KERNBUILDDIR) 110c4c5948SKyle Evansopt_global.h: 12861526b5SKyle Evans touch ${.TARGET} 13a4b3b535SMark Johnston @echo "#define SMP 1" >> ${.TARGET} 147df58aa8SKyle Evans @echo "#define MAC 1" >> ${.TARGET} 15a4b3b535SMark Johnston @echo "#define VIMAGE 1" >> ${.TARGET} 16483d953aSJohn Baldwin.if ${MK_BHYVE_SNAPSHOT} != "no" 17483d953aSJohn Baldwinopt_bhyve_snapshot.h: 18483d953aSJohn Baldwin @echo "#define BHYVE_SNAPSHOT 1" > ${.TARGET} 19483d953aSJohn Baldwin.endif 2035c4406dSWarner Loshopt_bpf.h: 2135c4406dSWarner Losh echo "#define DEV_BPF 1" > ${.TARGET} 2235c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no" 2335c4406dSWarner Loshopt_inet.h: 2435c4406dSWarner Losh @echo "#define INET 1" > ${.TARGET} 2535c4406dSWarner Losh @echo "#define TCP_OFFLOAD 1" >> ${.TARGET} 2635c4406dSWarner Losh.endif 2735c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no" 2835c4406dSWarner Loshopt_inet6.h: 2935c4406dSWarner Losh @echo "#define INET6 1" > ${.TARGET} 3035c4406dSWarner Losh.endif 311319a761SJohn Baldwin.if ${MK_IPSEC_SUPPORT} != "no" 324bcbd26fSJohn Baldwinopt_ipsec.h: 334bcbd26fSJohn Baldwin @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} 341319a761SJohn Baldwin.endif 35f3e7afe2SHans Petter Selasky.if ${MK_RATELIMIT} != "no" 36f3e7afe2SHans Petter Selaskyopt_ratelimit.h: 37f3e7afe2SHans Petter Selasky @echo "#define RATELIMIT 1" > ${.TARGET} 38f3e7afe2SHans Petter Selasky.endif 3935c4406dSWarner Loshopt_mrouting.h: 40*ff8d9d9cSWarner Losh @echo "#define MROUTING 1" > ${.TARGET} 41*ff8d9d9cSWarner Losh.if ${MK_FDT} != "no" 42*ff8d9d9cSWarner Loshopt_platform.h: 43*ff8d9d9cSWarner Losh @echo "#define FDT 1" > ${.TARGET} 44*ff8d9d9cSWarner Losh.endif 452379d1d6SWarner Loshopt_printf.h: 462379d1d6SWarner Losh echo "#define PRINTF_BUFR_SIZE 128" > ${.TARGET} 4735c4406dSWarner Loshopt_scsi.h: 4835c4406dSWarner Losh echo "#define SCSI_DELAY 15000" > ${.TARGET} 4979ddb55cSMark Johnston.if ${MK_SCTP_SUPPORT} != "no" 5079ddb55cSMark Johnstonopt_sctp.h: 5179ddb55cSMark Johnston @echo "#define SCTP_SUPPORT 1" > ${.TARGET} 5279ddb55cSMark Johnston.endif 5335c4406dSWarner Loshopt_wlan.h: 5435c4406dSWarner Losh echo "#define IEEE80211_DEBUG 1" > ${.TARGET} 5535c4406dSWarner Losh echo "#define IEEE80211_SUPPORT_MESH 1" >> ${.TARGET} 5635c4406dSWarner LoshKERN_OPTS.i386=NEW_PCIB DEV_PCI 5735c4406dSWarner LoshKERN_OPTS.amd64=NEW_PCIB DEV_PCI 5835c4406dSWarner LoshKERN_OPTS.powerpc=NEW_PCIB DEV_PCI 59a7dc3128SBrooks DavisKERN_OPTS=MROUTING IEEE80211_DEBUG \ 604945f79aSAndriy Voskoboinyk IEEE80211_SUPPORT_MESH DEV_BPF \ 6135c4406dSWarner Losh ${KERN_OPTS.${MACHINE}} ${KERN_OPTS_EXTRA} 62483d953aSJohn Baldwin.if ${MK_BHYVE_SNAPSHOT} != "no" 63483d953aSJohn BaldwinKERN_OPTS+= BHYVE_SNAPSHOT 64483d953aSJohn Baldwin.endif 6535c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no" 6635c4406dSWarner LoshKERN_OPTS+= INET TCP_OFFLOAD 6735c4406dSWarner Losh.endif 6835c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no" 6935c4406dSWarner LoshKERN_OPTS+= INET6 7035c4406dSWarner Losh.endif 711319a761SJohn Baldwin.if ${MK_IPSEC_SUPPORT} != "no" 721319a761SJohn BaldwinKERN_OPTS+= IPSEC_SUPPORT 731319a761SJohn Baldwin.endif 7479ddb55cSMark Johnston.if ${MK_SCTP_SUPPORT} != "no" 7579ddb55cSMark JohnstonKERN_OPTS+= SCTP_SUPPORT 7679ddb55cSMark Johnston.endif 77ebf5587eSBryan Drewery.elif !defined(KERN_OPTS) 78eec0e91eSWarner Losh# Add all the options that are mentioned in any opt_*.h file when we 79eec0e91eSWarner Losh# have a kernel build directory to pull them from. 8035c4406dSWarner LoshKERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u 81ebf5587eSBryan Drewery.export KERN_OPTS 8235c4406dSWarner Losh.endif 83ec4047adSBryan Drewery 84d395e093SBryan Drewery.if !defined(NO_MODULES) && !defined(__MPATH) && !make(install) && \ 85d395e093SBryan Drewery (empty(.MAKEFLAGS:M-V) || defined(NO_SKIP_MPATH)) 86ec4047adSBryan Drewery__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m 87ec4047adSBryan Drewery.export __MPATH 88ec4047adSBryan Drewery.endif 89