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) 1135c4406dSWarner Loshopt_bpf.h: 1235c4406dSWarner Losh echo "#define DEV_BPF 1" > ${.TARGET} 1335c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no" 1435c4406dSWarner Loshopt_inet.h: 1535c4406dSWarner Losh @echo "#define INET 1" > ${.TARGET} 1635c4406dSWarner Losh @echo "#define TCP_OFFLOAD 1" >> ${.TARGET} 1735c4406dSWarner Losh.endif 1835c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no" 1935c4406dSWarner Loshopt_inet6.h: 2035c4406dSWarner Losh @echo "#define INET6 1" > ${.TARGET} 2135c4406dSWarner Losh.endif 22f3e7afe2SHans Petter Selasky.if ${MK_RATELIMIT} != "no" 23f3e7afe2SHans Petter Selaskyopt_ratelimit.h: 24f3e7afe2SHans Petter Selasky @echo "#define RATELIMIT 1" > ${.TARGET} 25f3e7afe2SHans Petter Selasky.endif 2635c4406dSWarner Loshopt_mrouting.h: 2735c4406dSWarner Losh echo "#define MROUTING 1" > ${.TARGET} 282379d1d6SWarner Loshopt_printf.h: 292379d1d6SWarner Losh echo "#define PRINTF_BUFR_SIZE 128" > ${.TARGET} 3035c4406dSWarner Loshopt_scsi.h: 3135c4406dSWarner Losh echo "#define SCSI_DELAY 15000" > ${.TARGET} 3235c4406dSWarner Loshopt_wlan.h: 3335c4406dSWarner Losh echo "#define IEEE80211_DEBUG 1" > ${.TARGET} 3435c4406dSWarner Losh echo "#define IEEE80211_SUPPORT_MESH 1" >> ${.TARGET} 3535c4406dSWarner LoshKERN_OPTS.i386=NEW_PCIB DEV_PCI 3635c4406dSWarner LoshKERN_OPTS.amd64=NEW_PCIB DEV_PCI 3735c4406dSWarner LoshKERN_OPTS.powerpc=NEW_PCIB DEV_PCI 38a7dc3128SBrooks DavisKERN_OPTS=MROUTING IEEE80211_DEBUG \ 394945f79aSAndriy Voskoboinyk IEEE80211_SUPPORT_MESH DEV_BPF \ 4035c4406dSWarner Losh ${KERN_OPTS.${MACHINE}} ${KERN_OPTS_EXTRA} 4135c4406dSWarner Losh.if ${MK_INET_SUPPORT} != "no" 4235c4406dSWarner LoshKERN_OPTS+= INET TCP_OFFLOAD 4335c4406dSWarner Losh.endif 4435c4406dSWarner Losh.if ${MK_INET6_SUPPORT} != "no" 4535c4406dSWarner LoshKERN_OPTS+= INET6 4635c4406dSWarner Losh.endif 47ebf5587eSBryan Drewery.elif !defined(KERN_OPTS) 48*eec0e91eSWarner Losh# Add all the options that are mentioned in any opt_*.h file when we 49*eec0e91eSWarner Losh# have a kernel build directory to pull them from. 5035c4406dSWarner LoshKERN_OPTS!=cat ${KERNBUILDDIR}/opt*.h | awk '{print $$2;}' | sort -u 51ebf5587eSBryan Drewery.export KERN_OPTS 5235c4406dSWarner Losh.endif 53ec4047adSBryan Drewery 54d395e093SBryan Drewery.if !defined(NO_MODULES) && !defined(__MPATH) && !make(install) && \ 55d395e093SBryan Drewery (empty(.MAKEFLAGS:M-V) || defined(NO_SKIP_MPATH)) 56ec4047adSBryan Drewery__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m 57ec4047adSBryan Drewery.export __MPATH 58ec4047adSBryan Drewery.endif 59