Makefile 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936
  1. SYSDIR?=${SRCTOP}/sys
  2. .include "${SYSDIR}/conf/kern.opts.mk"
  3. SUBDIR_PARALLEL=
  4. # Modules that include binary-only blobs of microcode should be selectable by
  5. # MK_SOURCELESS_UCODE option (see below).
  6. .include "${SYSDIR}/conf/config.mk"
  7. .if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
  8. SUBDIR=${MODULES_OVERRIDE}
  9. .else
  10. SUBDIR= \
  11. ${_3dfx} \
  12. ${_3dfx_linux} \
  13. ${_aac} \
  14. ${_aacraid} \
  15. accf_data \
  16. accf_dns \
  17. accf_http \
  18. accf_tls \
  19. acl_nfs4 \
  20. acl_posix1e \
  21. ${_acpi} \
  22. ae \
  23. ${_aesni} \
  24. age \
  25. ${_agp} \
  26. ahci \
  27. aic7xxx \
  28. alc \
  29. ale \
  30. alq \
  31. ${_amd_ecc_inject} \
  32. ${_amdgpio} \
  33. ${_amdsbwd} \
  34. ${_amdsmn} \
  35. ${_amdtemp} \
  36. ${_aout} \
  37. ${_arcmsr} \
  38. ${_allwinner} \
  39. ${_armv8crypto} \
  40. ${_armv8_rng} \
  41. ${_asmc} \
  42. ata \
  43. ath \
  44. ath_dfs \
  45. ath_hal \
  46. ath_hal_ar5210 \
  47. ath_hal_ar5211 \
  48. ath_hal_ar5212 \
  49. ath_hal_ar5416 \
  50. ath_hal_ar9300 \
  51. ath_main \
  52. ath_rate \
  53. ${_autofs} \
  54. axgbe \
  55. backlight \
  56. ${_bce} \
  57. ${_bcm283x_clkman} \
  58. ${_bcm283x_pwm} \
  59. bfe \
  60. bge \
  61. bhnd \
  62. ${_bxe} \
  63. ${_bios} \
  64. ${_blake2} \
  65. ${_bnxt} \
  66. bridgestp \
  67. bwi \
  68. bwn \
  69. ${_bytgpio} \
  70. ${_chvgpio} \
  71. cam \
  72. ${_cardbus} \
  73. ${_carp} \
  74. cas \
  75. ${_cbb} \
  76. cc \
  77. ${_ccp} \
  78. cd9660 \
  79. cd9660_iconv \
  80. ${_cfi} \
  81. ${_chromebook_platform} \
  82. ${_ciss} \
  83. ${_coretemp} \
  84. ${_cpsw} \
  85. ${_cpuctl} \
  86. ${_cpufreq} \
  87. ${_crypto} \
  88. ${_cryptodev} \
  89. ctl \
  90. ${_cxgb} \
  91. ${_cxgbe} \
  92. dc \
  93. dcons \
  94. dcons_crom \
  95. ${_dpaa2} \
  96. ${_dpdk_lpm4} \
  97. ${_dpdk_lpm6} \
  98. ${_dpms} \
  99. dummynet \
  100. ${_dwwdt} \
  101. ${_e6000sw} \
  102. ${_efirt} \
  103. ${_em} \
  104. ${_ena} \
  105. ${_enic} \
  106. ${_enetc} \
  107. ${_et} \
  108. evdev \
  109. ${_exca} \
  110. ext2fs \
  111. fdc \
  112. fdescfs \
  113. ${_felix} \
  114. ${_ffec} \
  115. ${_fib_dxr} \
  116. filemon \
  117. firewire \
  118. firmware \
  119. flash \
  120. ${_ftgpio} \
  121. ${_ftwd} \
  122. fusefs \
  123. ${_fxp} \
  124. gem \
  125. geom \
  126. ${_glxiic} \
  127. ${_glxsb} \
  128. gpio \
  129. ${_gve} \
  130. hid \
  131. hifn \
  132. ${_hpt27xx} \
  133. ${_hptiop} \
  134. ${_hptmv} \
  135. ${_hptnr} \
  136. ${_hptrr} \
  137. hwpmc \
  138. ${_hyperv} \
  139. i2c \
  140. ${_iavf} \
  141. ${_ibcore} \
  142. ${_ichwd} \
  143. ${_ice} \
  144. ${_ice_ddp} \
  145. ${_irdma} \
  146. ${_ida} \
  147. if_bridge \
  148. ${_if_cgem} \
  149. if_disc \
  150. if_edsc \
  151. ${_if_enc} \
  152. if_epair \
  153. ${_genet} \
  154. ${_if_gif} \
  155. ${_if_gre} \
  156. ${_if_me} \
  157. if_infiniband \
  158. if_lagg \
  159. if_ovpn \
  160. ${_if_stf} \
  161. if_tuntap \
  162. if_vlan \
  163. if_vxlan \
  164. ${_if_wg} \
  165. iflib \
  166. ${_igc} \
  167. imgact_binmisc \
  168. ${_intelspi} \
  169. ${_io} \
  170. ${_ioat} \
  171. ${_ipoib} \
  172. ipdivert \
  173. ${_ipfilter} \
  174. ${_ipfw} \
  175. ipfw_nat \
  176. ${_ipfw_nat64} \
  177. ${_ipfw_nptv6} \
  178. ${_ipfw_pmod} \
  179. ${_ipmi} \
  180. ip6_mroute_mod \
  181. ip_mroute_mod \
  182. ${_ips} \
  183. ${_ipsec} \
  184. ${_ipw} \
  185. ${_ipwfw} \
  186. ${_isci} \
  187. ${_iser} \
  188. isp \
  189. ${_ispfw} \
  190. ${_itwd} \
  191. ${_iwi} \
  192. ${_iwifw} \
  193. ${_iwlwifi} \
  194. ${_iwlwififw} \
  195. ${_iwm} \
  196. ${_iwmfw} \
  197. ${_iwn} \
  198. ${_iwnfw} \
  199. ${_ix} \
  200. ${_ixv} \
  201. ${_ixl} \
  202. jme \
  203. kbdmux \
  204. kgssapi \
  205. kgssapi_krb5 \
  206. khelp \
  207. krpc \
  208. ksyms \
  209. le \
  210. lge \
  211. libalias \
  212. libiconv \
  213. libmchain \
  214. lindebugfs \
  215. linuxkpi \
  216. linuxkpi_hdmi \
  217. linuxkpi_video \
  218. linuxkpi_wlan \
  219. ${_lio} \
  220. lpt \
  221. ${_mac_biba} \
  222. ${_mac_bsdextended} \
  223. ${_mac_ddb} \
  224. ${_mac_do} \
  225. ${_mac_ifoff} \
  226. ${_mac_ipacl} \
  227. ${_mac_lomac} \
  228. ${_mac_mls} \
  229. ${_mac_none} \
  230. ${_mac_ntpd} \
  231. ${_mac_partition} \
  232. ${_mac_pimd} \
  233. ${_mac_portacl} \
  234. ${_mac_priority} \
  235. ${_mac_seeotheruids} \
  236. ${_mac_stub} \
  237. ${_mac_test} \
  238. ${_mac_veriexec} \
  239. ${_mac_veriexec_sha1} \
  240. ${_mac_veriexec_sha256} \
  241. ${_mac_veriexec_sha384} \
  242. ${_mac_veriexec_sha512} \
  243. ${_malo} \
  244. ${_mana} \
  245. md \
  246. mdio \
  247. ${_mgb} \
  248. mem \
  249. mfi \
  250. mii \
  251. mlx \
  252. mlxfw \
  253. ${_mlx4} \
  254. ${_mlx4ib} \
  255. ${_mlx4en} \
  256. ${_mlx5} \
  257. ${_mlx5en} \
  258. ${_mlx5ib} \
  259. mmc \
  260. mmcsd \
  261. ${_mpi3mr} \
  262. ${_mpr} \
  263. ${_mps} \
  264. mpt \
  265. mqueue \
  266. mrsas \
  267. msdosfs \
  268. msdosfs_iconv \
  269. msk \
  270. ${_mthca} \
  271. mvs \
  272. mwl \
  273. ${_mwlfw} \
  274. mxge \
  275. my \
  276. ${_nctgpio} \
  277. ${_ncthwm} \
  278. ${_neta} \
  279. netlink \
  280. ${_netgraph} \
  281. ${_nfe} \
  282. nfscl \
  283. nfscommon \
  284. nfsd \
  285. nfslockd \
  286. nfssvc \
  287. nlsysevent \
  288. nge \
  289. nmdm \
  290. nullfs \
  291. ${_ntb} \
  292. nvd \
  293. ${_nvdimm} \
  294. nvme \
  295. nvmf \
  296. ${_nvram} \
  297. oce \
  298. ${_ocs_fc} \
  299. ${_ossl} \
  300. otus \
  301. ${_otusfw} \
  302. ow \
  303. p9fs \
  304. ${_padlock} \
  305. ${_padlock_rng} \
  306. ${_pchtherm} \
  307. ${_pcfclock} \
  308. ${_pf} \
  309. ${_pflog} \
  310. ${_pflow} \
  311. ${_pfsync} \
  312. plip \
  313. ${_pms} \
  314. ppbus \
  315. ppc \
  316. ppi \
  317. pps \
  318. procfs \
  319. proto \
  320. pseudofs \
  321. ${_pst} \
  322. pty \
  323. puc \
  324. pwm \
  325. ${_qat} \
  326. ${_qatfw} \
  327. ${_qat_c2xxx} \
  328. ${_qat_c2xxxfw} \
  329. ${_qlxge} \
  330. ${_qlxgb} \
  331. ${_qlxgbe} \
  332. ${_qlnx} \
  333. ral \
  334. ${_ralfw} \
  335. ${_random_fortuna} \
  336. ${_random_other} \
  337. rc4 \
  338. ${_rdma} \
  339. ${_rdrand_rng} \
  340. re \
  341. rl \
  342. ${_rockchip} \
  343. rtsx \
  344. ${_rtw88} \
  345. rtwn \
  346. rtwn_pci \
  347. rtwn_usb \
  348. ${_rtwnfw} \
  349. ${_s3} \
  350. ${_safe} \
  351. safexcel \
  352. ${_sbni} \
  353. scc \
  354. ${_sctp} \
  355. sdhci \
  356. ${_sdhci_acpi} \
  357. ${_sdhci_fdt} \
  358. sdhci_pci \
  359. sdio \
  360. ${_sff} \
  361. sem \
  362. send \
  363. ${_sfxge} \
  364. sge \
  365. ${_sgx} \
  366. ${_sgx_linux} \
  367. siftr \
  368. siis \
  369. sis \
  370. sk \
  371. ${_smartpqi} \
  372. smbfs \
  373. snp \
  374. sound \
  375. ${_speaker} \
  376. spi \
  377. ${_splash} \
  378. ste \
  379. stge \
  380. ${_sume} \
  381. ${_superio} \
  382. ${_p2sb} \
  383. sym \
  384. ${_syscons} \
  385. sysvipc \
  386. tarfs \
  387. tcp \
  388. ${_ti} \
  389. tmpfs \
  390. ${_toecore} \
  391. tpm \
  392. tws \
  393. uart \
  394. udf \
  395. udf_iconv \
  396. ufs \
  397. uinput \
  398. unionfs \
  399. usb \
  400. ${_vesa} \
  401. ${_vf_i2c} \
  402. virtio \
  403. vge \
  404. ${_viawd} \
  405. videomode \
  406. vkbd \
  407. ${_vmd} \
  408. ${_vmm} \
  409. ${_vmware} \
  410. vr \
  411. vte \
  412. ${_wbwd} \
  413. ${_wdatwd} \
  414. wlan \
  415. wlan_acl \
  416. wlan_amrr \
  417. wlan_ccmp \
  418. wlan_rssadapt \
  419. wlan_tkip \
  420. wlan_wep \
  421. wlan_xauth \
  422. ${_wpi} \
  423. ${_wpifw} \
  424. ${_x86bios} \
  425. xdr \
  426. xl \
  427. xz \
  428. zlib
  429. .if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
  430. _autofs= autofs
  431. .endif
  432. .if ${MK_DTRACE} != "no" || defined(ALL_MODULES)
  433. .if ${KERN_OPTS:MKDTRACE_HOOKS}
  434. SUBDIR+= dtrace
  435. .endif
  436. SUBDIR+= opensolaris
  437. .endif
  438. .if !${MACHINE_ABI:Mlong32}
  439. _bnxt= bnxt
  440. .endif
  441. .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
  442. .if exists(${SRCTOP}/sys/opencrypto)
  443. _crypto= crypto
  444. _cryptodev= cryptodev
  445. _random_fortuna=random_fortuna
  446. _random_other= random_other
  447. .endif
  448. .endif
  449. .if ${MK_CUSE} != "no" || defined(ALL_MODULES)
  450. SUBDIR+= cuse
  451. .endif
  452. .if ${MK_EFI} != "no"
  453. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
  454. _efirt= efirt
  455. .endif
  456. .endif
  457. .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
  458. defined(ALL_MODULES)
  459. _carp= carp
  460. _toecore= toecore
  461. _if_enc= if_enc
  462. _if_gif= if_gif
  463. _if_gre= if_gre
  464. .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
  465. _if_wg= if_wg
  466. .endif
  467. _ipfw_pmod= ipfw_pmod
  468. .if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}
  469. _ipsec= ipsec
  470. .endif
  471. .if ${KERN_OPTS:MSCTP_SUPPORT} || ${KERN_OPTS:MSCTP}
  472. _sctp= sctp
  473. .endif
  474. .endif
  475. .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
  476. defined(ALL_MODULES)
  477. _if_stf= if_stf
  478. .endif
  479. .if (${KERN_OPTS:MINET} && ${MK_INET_SUPPORT} != "no") || defined(ALL_MODULES)
  480. _if_me= if_me
  481. _ipfw= ipfw
  482. .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
  483. _ipfw_nat64= ipfw_nat64
  484. .endif
  485. .endif
  486. .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES)
  487. _ipfw_nptv6= ipfw_nptv6
  488. .endif
  489. .if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
  490. _ipfilter= ipfilter
  491. .endif
  492. .if ${MK_INET_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO} && ${KERN_OPTS:MINET}
  493. _dpdk_lpm4= dpdk_lpm4
  494. _fib_dxr= fib_dxr
  495. .endif
  496. .if ${MK_INET6_SUPPORT} != "no" && ${KERN_OPTS:MFIB_ALGO}
  497. _dpdk_lpm6= dpdk_lpm6
  498. .endif
  499. .if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
  500. SUBDIR+= cfiscsi
  501. SUBDIR+= iscsi
  502. .endif
  503. .if !empty(OPT_FDT)
  504. SUBDIR+= fdt
  505. .endif
  506. # Linuxulator
  507. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
  508. ${MACHINE_CPUARCH} == "i386"
  509. SUBDIR+= linprocfs
  510. SUBDIR+= linsysfs
  511. .endif
  512. .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
  513. SUBDIR+= linux
  514. .endif
  515. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
  516. SUBDIR+= linux64
  517. SUBDIR+= linux_common
  518. .endif
  519. .if ${MACHINE_CPUARCH} != "arm"
  520. .if ${MK_OFED} != "no" || defined(ALL_MODULES)
  521. _ibcore= ibcore
  522. _ipoib= ipoib
  523. _iser= iser
  524. _mthca= mthca
  525. _rdma= rdma
  526. .endif
  527. .endif
  528. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
  529. ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH:Mpowerpc64*} != ""
  530. _ipmi= ipmi
  531. _mlx4= mlx4
  532. _mlx5= mlx5
  533. .if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
  534. defined(ALL_MODULES)
  535. _mlx4en= mlx4en
  536. _mlx5en= mlx5en
  537. .endif
  538. .if ${MK_OFED} != "no" || defined(ALL_MODULES)
  539. _mlx4ib= mlx4ib
  540. _mlx5ib= mlx5ib
  541. .endif
  542. .endif
  543. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
  544. ${MACHINE_CPUARCH} == "i386"
  545. _ena= ena
  546. _gve= gve
  547. _iwlwifi= iwlwifi
  548. .if ${MK_SOURCELESS_UCODE} != "no"
  549. _iwlwififw= iwlwififw
  550. .endif
  551. _rtw88= rtw88
  552. _vmware= vmware
  553. .endif
  554. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
  555. ${MACHINE_CPUARCH} == "i386" || ${MACHINE_ARCH} == "armv7" || \
  556. ${MACHINE_ARCH:Mpowerpc64*} != ""
  557. _ossl= ossl
  558. .endif
  559. # MAC framework
  560. .if ${KERN_OPTS:MMAC} || defined(ALL_MODULES)
  561. _mac_biba= mac_biba
  562. _mac_bsdextended= mac_bsdextended
  563. .if ${KERN_OPTS:MDDB} || defined(ALL_MODULES)
  564. _mac_ddb= mac_ddb
  565. .endif
  566. _mac_do= mac_do
  567. _mac_ifoff= mac_ifoff
  568. _mac_ipacl= mac_ipacl
  569. _mac_lomac= mac_lomac
  570. _mac_mls= mac_mls
  571. _mac_none= mac_none
  572. _mac_ntpd= mac_ntpd
  573. _mac_partition= mac_partition
  574. _mac_pimd= mac_pimd
  575. _mac_portacl= mac_portacl
  576. _mac_priority= mac_priority
  577. _mac_seeotheruids= mac_seeotheruids
  578. _mac_stub= mac_stub
  579. _mac_test= mac_test
  580. .if ${MK_VERIEXEC} != "no" || defined(ALL_MODULES)
  581. _mac_veriexec= mac_veriexec
  582. _mac_veriexec_sha1= mac_veriexec_sha1
  583. _mac_veriexec_sha256= mac_veriexec_sha256
  584. _mac_veriexec_sha384= mac_veriexec_sha384
  585. _mac_veriexec_sha512= mac_veriexec_sha512
  586. .endif
  587. .endif
  588. .if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
  589. _netgraph= netgraph
  590. .endif
  591. .if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
  592. ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
  593. _pf= pf
  594. _pflog= pflog
  595. _pflow= pflow
  596. .if ${MK_INET_SUPPORT} != "no"
  597. _pfsync= pfsync
  598. .endif
  599. .endif
  600. .if ${MK_SOURCELESS_UCODE} != "no"
  601. _bce= bce
  602. _fxp= fxp
  603. _ispfw= ispfw
  604. _ti= ti
  605. _mwlfw= mwlfw
  606. _otusfw= otusfw
  607. _ralfw= ralfw
  608. _rtwnfw= rtwnfw
  609. .endif
  610. .if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
  611. ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe" && \
  612. ${MACHINE_CPUARCH} != "riscv"
  613. _cxgbe= cxgbe
  614. .endif
  615. # This has only been tested on amd64 and arm64
  616. .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64"
  617. _mpi3mr=mpi3mr
  618. .endif
  619. # Specific to the Raspberry Pi.
  620. .if ${MACHINE_CPUARCH} == "aarch64"
  621. _genet= genet
  622. .endif
  623. .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64" || \
  624. ${MACHINE_ARCH:Mpowerpc64*}
  625. _ice= ice
  626. .if ${MK_SOURCELESS_UCODE} != "no"
  627. _ice_ddp= ice_ddp
  628. .endif
  629. .if ${MK_OFED} != "no" || defined(ALL_MODULES)
  630. .if ${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no"
  631. _irdma= irdma
  632. .endif
  633. .endif
  634. .endif
  635. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \
  636. ${MACHINE_CPUARCH} == "riscv"
  637. .if !empty(OPT_FDT)
  638. _if_cgem= if_cgem
  639. .endif
  640. .endif
  641. # These rely on 64bit atomics
  642. .if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "powerpcspe"
  643. _mps= mps
  644. _mpr= mpr
  645. .endif
  646. .if ${MK_TESTS} != "no" || defined(ALL_MODULES)
  647. SUBDIR+= ktest
  648. SUBDIR+= tests
  649. .endif
  650. .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
  651. SUBDIR+= zfs
  652. .endif
  653. .if ${MK_SOURCELESS_UCODE} != "no"
  654. _cxgb= cxgb
  655. .endif
  656. .if ${MACHINE_CPUARCH} == "aarch64"
  657. _armv8crypto= armv8crypto
  658. _armv8_rng= armv8_rng
  659. _dpaa2= dpaa2
  660. _sff= sff
  661. _em= em
  662. _hyperv= hyperv
  663. _vf_i2c= vf_i2c
  664. .if !empty(OPT_FDT)
  665. _allwinner= allwinner
  666. _dwwdt= dwwdt
  667. _enetc= enetc
  668. _felix= felix
  669. _rockchip= rockchip
  670. .endif
  671. .endif
  672. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
  673. .if !empty(OPT_FDT)
  674. _sdhci_fdt= sdhci_fdt
  675. .endif
  676. _e6000sw= e6000sw
  677. _neta= neta
  678. .endif
  679. .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
  680. _agp= agp
  681. .if ${MACHINE_CPUARCH} == "i386" || !empty(COMPAT_FREEBSD32_ENABLED)
  682. _aout= aout
  683. .endif
  684. _bios= bios
  685. .if ${MK_SOURCELESS_UCODE} != "no"
  686. _bxe= bxe
  687. .endif
  688. _cardbus= cardbus
  689. _cbb= cbb
  690. _cpuctl= cpuctl
  691. _cpufreq= cpufreq
  692. _dpms= dpms
  693. _em= em
  694. _et= et
  695. _ftgpio= ftgpio
  696. _ftwd= ftwd
  697. _exca= exca
  698. _igc= igc
  699. _io= io
  700. _itwd= itwd
  701. _ix= ix
  702. _ixv= ixv
  703. .if ${MK_SOURCELESS_UCODE} != "no"
  704. _lio= lio
  705. .endif
  706. _mana= mana
  707. _mgb= mgb
  708. _nctgpio= nctgpio
  709. _ncthwm= ncthwm
  710. _ntb= ntb
  711. _ocs_fc= ocs_fc
  712. _p2sb= p2sb
  713. _qat_c2xxx= qat_c2xxx
  714. _qat_c2xxxfw= qat_c2xxxfw
  715. _safe= safe
  716. _speaker= speaker
  717. _splash= splash
  718. _syscons= syscons
  719. _wbwd= wbwd
  720. _wdatwd= wdatwd
  721. _aac= aac
  722. _aacraid= aacraid
  723. _acpi= acpi
  724. .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
  725. _aesni= aesni
  726. .endif
  727. _amd_ecc_inject=amd_ecc_inject
  728. _amdsbwd= amdsbwd
  729. _amdsmn= amdsmn
  730. _amdtemp= amdtemp
  731. _arcmsr= arcmsr
  732. _asmc= asmc
  733. .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
  734. _blake2= blake2
  735. .endif
  736. _bytgpio= bytgpio
  737. _chvgpio= chvgpio
  738. _ciss= ciss
  739. _chromebook_platform= chromebook_platform
  740. _coretemp= coretemp
  741. .if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
  742. _hpt27xx= hpt27xx
  743. .endif
  744. _hptiop= hptiop
  745. .if ${MK_SOURCELESS_HOST} != "no" && empty(KCSAN_ENABLED)
  746. _hptmv= hptmv
  747. _hptnr= hptnr
  748. _hptrr= hptrr
  749. .endif
  750. _hyperv= hyperv
  751. _ichwd= ichwd
  752. _ida= ida
  753. _intelspi= intelspi
  754. _ips= ips
  755. _isci= isci
  756. _ipw= ipw
  757. _iwi= iwi
  758. _iwm= iwm
  759. _iwn= iwn
  760. .if ${MK_SOURCELESS_UCODE} != "no"
  761. _ipwfw= ipwfw
  762. _iwifw= iwifw
  763. _iwmfw= iwmfw
  764. _iwnfw= iwnfw
  765. .endif
  766. _nfe= nfe
  767. _nvram= nvram
  768. .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
  769. _padlock= padlock
  770. _padlock_rng= padlock_rng
  771. _rdrand_rng= rdrand_rng
  772. .endif
  773. _pchtherm = pchtherm
  774. _s3= s3
  775. _sdhci_acpi= sdhci_acpi
  776. _superio= superio
  777. _vesa= vesa
  778. _viawd= viawd
  779. _vmd= vmd
  780. _wpi= wpi
  781. .if ${MK_SOURCELESS_UCODE} != "no"
  782. _wpifw= wpifw
  783. .endif
  784. _x86bios= x86bios
  785. .endif
  786. .if ${MACHINE_CPUARCH} == "amd64"
  787. _amdgpio= amdgpio
  788. _ccp= ccp
  789. _enic= enic
  790. _iavf= iavf
  791. _ioat= ioat
  792. _ixl= ixl
  793. _nvdimm= nvdimm
  794. _pms= pms
  795. _qat= qat
  796. .if ${MK_SOURCELESS_UCODE} != "no"
  797. _qatfw= qatfw
  798. .endif
  799. _qlxge= qlxge
  800. _qlxgb= qlxgb
  801. _sume= sume
  802. .if ${MK_SOURCELESS_UCODE} != "no"
  803. _qlxgbe= qlxgbe
  804. _qlnx= qlnx
  805. .endif
  806. _sfxge= sfxge
  807. _sgx= sgx
  808. _sgx_linux= sgx_linux
  809. _smartpqi= smartpqi
  810. _p2sb= p2sb
  811. .endif
  812. .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64"
  813. .if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
  814. .if ${KERN_OPTS:MSMP}
  815. _vmm= vmm
  816. .endif
  817. .endif
  818. .endif
  819. .if ${MACHINE_CPUARCH} == "i386"
  820. # XXX some of these can move to the general case when de-i386'ed
  821. # XXX some of these can move now, but are untested on other architectures.
  822. _3dfx= 3dfx
  823. _3dfx_linux= 3dfx_linux
  824. _glxiic= glxiic
  825. _glxsb= glxsb
  826. _pcfclock= pcfclock
  827. _pst= pst
  828. _sbni= sbni
  829. .endif
  830. .if ${MACHINE_ARCH} == "armv7"
  831. _cfi= cfi
  832. _cpsw= cpsw
  833. .endif
  834. .if ${MACHINE_CPUARCH} == "powerpc"
  835. _aacraid= aacraid
  836. _agp= agp
  837. _an= an
  838. _cardbus= cardbus
  839. _cbb= cbb
  840. _cfi= cfi
  841. _cpufreq= cpufreq
  842. _exca= exca
  843. _ffec= ffec
  844. .endif
  845. .if ${MACHINE_ARCH:Mpowerpc64*} != ""
  846. _ixl= ixl
  847. _nvram= opal_nvram
  848. .endif
  849. .if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpcspe"
  850. # Don't build powermac_nvram for powerpcspe, it's never supported.
  851. _nvram+= powermac_nvram
  852. .endif
  853. .if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "aarch64"
  854. _bcm283x_clkman= bcm283x_clkman
  855. _bcm283x_pwm= bcm283x_pwm
  856. .endif
  857. .if !(${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 110000)
  858. # LLVM 10 crashes when building if_malo_pci.c, fixed in LLVM11:
  859. # https://bugs.llvm.org/show_bug.cgi?id=44351
  860. _malo= malo
  861. .endif
  862. SUBDIR+=${MODULES_EXTRA}
  863. .for reject in ${WITHOUT_MODULES}
  864. SUBDIR:= ${SUBDIR:N${reject}}
  865. .endfor
  866. .endif # MODULES_OVERRIDE -- Keep last
  867. # Calling kldxref(8) for each module is expensive.
  868. .if !defined(NO_XREF)
  869. .MAKEFLAGS+= -DNO_XREF
  870. afterinstall: .PHONY
  871. ${KLDXREF_CMD} ${DESTDIR}${KMODDIR}
  872. .if defined(NO_ROOT) && defined(METALOG)
  873. echo ".${DISTBASE}${KMODDIR}/linker.hints type=file mode=0644 uname=root gname=wheel" | \
  874. cat -l >> ${METALOG}
  875. .endif
  876. .endif
  877. SUBDIR:= ${SUBDIR:u:O}
  878. .include <bsd.subdir.mk>