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