4 .include "${SYSDIR}/conf/kern.opts.mk"
8 # Modules that include binary-only blobs of microcode should be selectable by
9 # MK_SOURCELESS_UCODE option (see below).
11 .if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
12 SUBDIR=${MODULES_OVERRIDE}
410 .if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
414 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
415 .if (${MACHINE_CPUARCH} != "arm" || ${MACHINE_ARCH:Marmv6*} != "") && \
416 ${MACHINE_CPUARCH} != "mips" && \
417 ${MACHINE_CPUARCH} != "sparc64"
423 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
424 .if exists(${.CURDIR}/../opencrypto)
426 _cryptodev= cryptodev
427 _random_fortuna=random_fortuna
428 _random_yarrow= random_yarrow
429 _random_other= random_other
433 .if ${MK_CUSE} != "no" || defined(ALL_MODULES)
437 .if ${MK_EXTRA_TCP_STACKS} != "no" || defined(ALL_MODULES)
438 _tcp_fastpath= tcp/fastpath
441 .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
450 .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
455 .if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
459 .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
460 _ipfw_nat64= ipfw_nat64
464 .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
465 _ipfw_nptv6= ipfw_nptv6
468 .if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
472 .if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
474 SUBDIR+= iscsi_initiator
477 .if ${MK_NAND} != "no" || defined(ALL_MODULES)
482 .if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
486 .if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
487 ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
490 .if ${MK_INET_SUPPORT} != "no"
495 .if ${MK_SOURCELESS_UCODE} != "no"
510 .if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
511 ${MACHINE_CPUARCH} != "mips" && \
512 ${MACHINE_ARCH} != "powerpc" && ${MACHINE_CPUARCH} != "riscv"
516 .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
520 .if ${MACHINE_CPUARCH} != "aarch64" && ${MACHINE_CPUARCH} != "arm" && \
521 ${MACHINE_CPUARCH} != "mips" && ${MACHINE_CPUARCH} != "powerpc" && \
522 ${MACHINE_CPUARCH} != "riscv"
527 .if ${MACHINE_CPUARCH} != "mips"
528 # no BUS_SPACE_UNSPECIFIED
529 # No barrier instruction support (specific to this driver)
531 # intr_disable() is a macro, causes problems
532 .if ${MK_SOURCELESS_UCODE} != "no"
537 .if ${MACHINE_CPUARCH} == "aarch64"
542 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
562 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
568 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
574 _linprocfs= linprocfs
580 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
593 .if ${MACHINE} != "pc98"
597 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
607 .if ${MK_SOURCELESS_HOST} != "no"
611 .if ${MK_SOURCELESS_HOST} != "no"
628 .if ${MK_SOURCELESS_UCODE} != "no"
636 .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
641 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
645 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
653 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
655 _padlock_rng= padlock_rng
656 _rdrand_rng= rdrand_rng
665 .if ${MK_SOURCELESS_UCODE} != "no"
672 .if ${MACHINE_CPUARCH} == "amd64"
678 _linux_common= linux_common
686 .if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
691 .if ${MACHINE_CPUARCH} == "i386"
692 # XXX some of these can move to the general case when de-i386'ed
693 # XXX some of these can move now, but are untested on other architectures.
695 _3dfx_linux= 3dfx_linux
699 .if ${MK_SOURCELESS_UCODE} != "no"
703 .if ${MK_SOURCELESS_UCODE} != "no"
720 .if ${MACHINE} == "i386"
721 .if ${MK_EISA} != "no"
726 .if ${MK_SOURCELESS_UCODE} != "no"
731 .elif ${MACHINE} == "pc98"
740 .if ${MACHINE_CPUARCH} == "arm"
745 .if ${MACHINE_CPUARCH} == "powerpc"
755 _nvram= powermac_nvram
760 .if ${MACHINE_ARCH} == "powerpc64"
764 .if ${MACHINE_CPUARCH} == "sparc64"
771 .if (${MACHINE_CPUARCH} == "amd64" || ${MACHINE_ARCH} == "armv6" || \
772 ${MACHINE_CPUARCH} == "i386")
773 _cloudabi32= cloudabi32
775 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
776 _cloudabi64= cloudabi64
781 SUBDIR+=${MODULES_EXTRA}
783 .for reject in ${WITHOUT_MODULES}
784 SUBDIR:= ${SUBDIR:N${reject}}
787 # Calling kldxref(8) for each module is expensive.
788 .if !defined(NO_XREF)
789 .MAKEFLAGS+= -DNO_XREF
791 @if type kldxref >/dev/null 2>&1; then \
792 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
793 kldxref ${DESTDIR}${KMODDIR}; \
797 .include "${SYSDIR}/conf/config.mk"
799 SUBDIR:= ${SUBDIR:u:O}
801 .include <bsd.subdir.mk>