]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/Makefile
Make several modules unconditionally built, there's no need for them to be
[FreeBSD/FreeBSD.git] / sys / modules / Makefile
1 # $FreeBSD$
2
3 SYSDIR?=${.CURDIR}/..
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 .if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
12 SUBDIR=${MODULES_OVERRIDE}
13 .else
14 SUBDIR= \
15         ${_3dfx} \
16         ${_3dfx_linux} \
17         ${_aac} \
18         ${_aacraid} \
19         accf_data \
20         accf_dns \
21         accf_http \
22         acl_nfs4 \
23         acl_posix1e \
24         ${_acpi} \
25         ae \
26         ${_aesni} \
27         age \
28         ${_agp} \
29         aha \
30         ${_ahb} \
31         ahci \
32         ${_aic} \
33         aic7xxx \
34         aio \
35         alc \
36         ale \
37         alq \
38         ${_amdsbwd} \
39         ${_amdtemp} \
40         amr \
41         ${_an} \
42         ${_aout} \
43         ${_apm} \
44         ${_arcmsr} \
45         ${_arcnet} \
46         ${_asmc} \
47         ata \
48         ath \
49         ath_pci \
50         ${_autofs} \
51         ${_auxio} \
52         ${_bce} \
53         bfe \
54         bge \
55         ${_bxe} \
56         ${_bios} \
57         ${_bktr} \
58         ${_bm} \
59         bridgestp \
60         bwi \
61         bwn \
62         cam \
63         ${_canbepm} \
64         ${_canbus} \
65         ${_cardbus} \
66         ${_carp} \
67         cas \
68         ${_cbb} \
69         cc \
70         cd9660 \
71         cd9660_iconv \
72         ${_ce} \
73         ${_cfi} \
74         ${_ciss} \
75         ${_cm} \
76         ${_cmx} \
77         ${_coff} \
78         ${_coretemp} \
79         ${_cp} \
80         ${_cpsw} \
81         ${_cpuctl} \
82         ${_cpufreq} \
83         ${_crypto} \
84         ${_cryptodev} \
85         ${_cs} \
86         ${_ct} \
87         ${_ctau} \
88         ctl \
89         ${_cxgb} \
90         ${_cxgbe} \
91         dc \
92         dcons \
93         dcons_crom \
94         de \
95         ${_dpms} \
96         ${_dpt} \
97         ${_drm} \
98         ${_drm2} \
99         ${_dtrace} \
100         dummynet \
101         ${_ed} \
102         ${_elink} \
103         ${_em} \
104         en \
105         ${_ep} \
106         ${_epic} \
107         esp \
108         ${_et} \
109         ${_ex} \
110         ${_exca} \
111         ext2fs \
112         ${_fatm} \
113         fdc \
114         fdescfs \
115         ${_fe} \
116         ${_filemon} \
117         firewire \
118         firmware \
119         fuse \
120         ${_fxp} \
121         gem \
122         geom \
123         ${_glxiic} \
124         ${_glxsb} \
125         hatm \
126         hifn \
127         hme \
128         ${_hpt27xx} \
129         ${_hptiop} \
130         ${_hptmv} \
131         ${_hptnr} \
132         ${_hptrr} \
133         hwpmc \
134         ${_hyperv} \
135         i2c \
136         ${_ibcore} \
137         ${_ibcs2} \
138         ${_ichwd} \
139         ${_ida} \
140         ${_ie} \
141         if_bridge \
142         if_disc \
143         if_edsc \
144         if_epair \
145         ${_if_gif} \
146         ${_if_gre} \
147         ${_if_me} \
148         if_lagg \
149         ${_if_ndis} \
150         if_stf \
151         if_tap \
152         if_tun \
153         if_vlan \
154         if_vxlan \
155         ${_igb} \
156         ${_iir} \
157         imgact_binmisc \
158         ${_io} \
159         ${_ipoib} \
160         ${_ipdivert} \
161         ${_ipfilter} \
162         ${_ipfw} \
163         ipfw_nat \
164         ${_ipmi} \
165         ip6_mroute_mod \
166         ip_mroute_mod \
167         ${_ips} \
168         ${_ipw} \
169         ${_ipwfw} \
170         ${_isci} \
171         isp \
172         ${_ispfw} \
173         ${_iwi} \
174         ${_iwifw} \
175         ${_iwn} \
176         ${_iwnfw} \
177         ${_ixgb} \
178         ${_ix} \
179         ${_ixv} \
180         ${_ixl} \
181         ${_ixlv} \
182         jme \
183         joy \
184         kbdmux \
185         kgssapi \
186         kgssapi_krb5 \
187         khelp \
188         krpc \
189         ksyms \
190         le \
191         lge \
192         libalias \
193         libiconv \
194         libmbpool \
195         libmchain \
196         ${_linprocfs} \
197         ${_linsysfs} \
198         ${_linux} \
199         ${_linuxapi} \
200         lmc \
201         lpt \
202         mac_biba \
203         mac_bsdextended \
204         mac_ifoff \
205         mac_lomac \
206         mac_mls \
207         mac_none \
208         mac_partition \
209         mac_portacl \
210         mac_seeotheruids \
211         mac_stub \
212         mac_test \
213         malo \
214         mcd \
215         md \
216         mem \
217         mfi \
218         mii \
219         mlx \
220         ${_mlx4} \
221         ${_mlx4ib} \
222         ${_mlxen} \
223         ${_mly} \
224         mmc \
225         mmcsd \
226         mpr \
227         mps \
228         mpt \
229         mqueue \
230         mrsas \
231         msdosfs \
232         msdosfs_iconv \
233         ${_mse} \
234         msk \
235         ${_mthca} \
236         mvs \
237         mwl \
238         ${_mwlfw} \
239         mxge \
240         my \
241         ${_nandfs} \
242         ${_nandsim} \
243         ${_ncr} \
244         ${_ncv} \
245         ${_ndis} \
246         netfpga10g \
247         ${_netgraph} \
248         ${_nfe} \
249         nfscl \
250         nfscommon \
251         nfsd \
252         nfslock \
253         nfslockd \
254         nfssvc \
255         nge \
256         nmdm \
257         ${_nsp} \
258         nullfs \
259         ${_ntb} \
260         ${_nvd} \
261         ${_nvme} \
262         ${_nvram} \
263         ${_nxge} \
264         ${_opensolaris} \
265         oce \
266         ${_padlock} \
267         ${_padlock_rng} \
268         patm \
269         ${_pccard} \
270         ${_pcfclock} \
271         pcn \
272         ${_pf} \
273         ${_pflog} \
274         ${_pfsync} \
275         plip \
276         ${_pmc} \
277         ppbus \
278         ppc \
279         ppi \
280         pps \
281         procfs \
282         proto \
283         pseudofs \
284         ${_pst} \
285         pty  \
286         puc \
287         ${_qlxge} \
288         ${_qlxgb} \
289         ${_qlxgbe} \
290         ral \
291         ${_ralfw} \
292         ${_random} \
293         rc4 \
294         ${_rdma} \
295         ${_rdrand_rng} \
296         re \
297         reiserfs \
298         rl \
299         ${_s3} \
300         ${_safe} \
301         ${_sbni} \
302         scc \
303         scd \
304         ${_scsi_low} \
305         sdhci \
306         sdhci_pci \
307         sem \
308         send \
309         ${_sf} \
310         ${_sfxge} \
311         sge \
312         ${_si} \
313         siba_bwn \
314         siftr \
315         siis \
316         sis \
317         sk \
318         smbfs \
319         sn \
320         ${_snc} \
321         snp \
322         sound \
323         ${_speaker} \
324         ${_splash} \
325         ${_sppp} \
326         ste \
327         ${_stg} \
328         stge \
329         ${_streams} \
330         ${_svr4} \
331         ${_sym} \
332         ${_syscons} \
333         sysvipc \
334         ${_ti} \
335         tl \
336         tmpfs \
337         ${_toecore} \
338         ${_tpm} \
339         trm \
340         ${_twa} \
341         twe \
342         tws \
343         tx \
344         ${_txp} \
345         uart \
346         ubsec \
347         udf \
348         udf_iconv \
349         ufs \
350         unionfs \
351         usb \
352         utopia \
353         ${_vesa} \
354         ${_virtio} \
355         vge \
356         ${_viawd} \
357         videomode \
358         vkbd \
359         ${_vmm} \
360         ${_vmware} \
361         ${_vpo} \
362         vr \
363         vte \
364         vx \
365         ${_vxge} \
366         wb \
367         ${_wbwd} \
368         ${_wds} \
369         ${_wi} \
370         ${_wl} \
371         wlan \
372         wlan_acl \
373         wlan_amrr \
374         wlan_ccmp \
375         wlan_rssadapt \
376         wlan_tkip \
377         wlan_wep \
378         wlan_xauth \
379         ${_wpi} \
380         ${_wpifw} \
381         ${_x86bios} \
382         ${_xe} \
383         xl \
384         ${_zfs} \
385         zlib
386
387 .if ${MK_AUTOFS} != "no" || defined(ALL_MODULES)
388 _autofs=        autofs
389 .endif
390
391 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
392 .if exists(${.CURDIR}/../opencrypto)
393 _crypto=        crypto
394 _cryptodev=     cryptodev
395 .endif
396 .if exists(${.CURDIR}/../crypto)
397 _random=        random
398 .endif
399 .endif
400
401 .if ${MK_CUSE} != "no" || defined(ALL_MODULES)
402 SUBDIR+=        cuse
403 .endif
404
405 .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
406         defined(ALL_MODULES)
407 _carp=          carp
408 _toecore=       toecore
409 _if_gif=        if_gif
410 _if_gre=        if_gre
411 .endif
412
413 .if ${MK_INET_SUPPORT} != "no" || defined(ALL_MODULES)
414 _if_me=         if_me
415 _ipdivert=      ipdivert
416 _ipfw=          ipfw
417 .endif
418
419 .if ${MK_IPFILTER} != "no" || defined(ALL_MODULES)
420 _ipfilter=      ipfilter
421 .endif
422
423 .if ${MK_ISCSI} != "no" || defined(ALL_MODULES)
424 SUBDIR+=        iscsi
425 SUBDIR+=        iscsi_initiator
426 .endif
427
428 .if ${MK_NAND} != "no" || defined(ALL_MODULES)
429 _nandfs=        nandfs
430 _nandsim=       nandsim
431 .endif
432
433 .if ${MK_NETGRAPH} != "no" || defined(ALL_MODULES)
434 _netgraph=      netgraph
435 .endif
436
437 .if (${MK_PF} != "no" && (${MK_INET_SUPPORT} != "no" || \
438         ${MK_INET6_SUPPORT} != "no")) || defined(ALL_MODULES)
439 _pf=            pf
440 _pflog=         pflog
441 .if ${MK_INET_SUPPORT} != "no"
442 _pfsync=        pfsync
443 .endif
444 .endif
445
446 .if ${MK_SOURCELESS_UCODE} != "no"
447 _bce=           bce
448 _fatm=          fatm
449 _fxp=           fxp
450 _ispfw=         ispfw
451 _mwlfw=         mwlfw
452 _ralfw=         ralfw
453 _sf=            sf
454 _ti=            ti
455 _txp=           txp
456 .endif
457
458 .if ${MK_SOURCELESS_UCODE} != "no" && ${MACHINE_CPUARCH} != "arm" && \
459         ${MACHINE_ARCH} != "powerpc"
460 _cxgbe=         cxgbe
461 .endif
462
463 .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" && \
464         ${MACHINE_CPUARCH} != "powerpc"
465 _syscons=       syscons
466 _vpo=           vpo
467 .endif
468
469 .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
470 # no BUS_SPACE_UNSPECIFIED
471 # No barrier instruction support (specific to this driver)
472 _sym=           sym
473 # intr_disable() is a macro, causes problems
474 .if ${MK_SOURCELESS_UCODE} != "no"
475 _cxgb=          cxgb
476 .endif
477 .endif
478
479 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
480 _agp=           agp
481 _an=            an
482 _aout=          aout
483 _bktr=          bktr
484 _bxe=           bxe
485 _cardbus=       cardbus
486 _cbb=           cbb
487 _cpuctl=        cpuctl
488 _cpufreq=       cpufreq
489 _cs=            cs
490 _dpms=          dpms
491 _drm=           drm
492 _drm2=          drm2
493 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
494 _dtrace=        dtrace
495 .endif
496 _ed=            ed
497 _em=            em
498 _ep=            ep
499 _et=            et
500 _exca=          exca
501 _fe=            fe
502 _filemon=       filemon
503 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
504 _ibcore=        ibcore
505 .endif
506 _if_ndis=       if_ndis
507 _igb=           igb
508 _io=            io
509 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
510 _ipoib=         ipoib
511 .endif
512 _ix=            ix
513 _ixv=           ixv
514 _linprocfs=     linprocfs
515 _linsysfs=      linsysfs
516 _linux=         linux
517 .if ${MK_OFED} != "no"
518 _linuxapi=      linuxapi
519 .endif
520 _ndis=          ndis
521 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
522 _opensolaris=   opensolaris
523 .endif
524 _pccard=        pccard
525 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
526 _rdma=          rdma
527 .endif
528 _safe=          safe
529 _scsi_low=      scsi_low
530 _si=            si
531 _speaker=       speaker
532 _splash=        splash
533 _sppp=          sppp
534 _vmware=        vmware
535 _vxge=          vxge
536 _wbwd=          wbwd
537 _wi=            wi
538 _xe=            xe
539 .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
540 _zfs=           zfs
541 .endif
542 .if ${MACHINE} != "pc98"
543 _aac=           aac
544 _aacraid=       aacraid
545 _acpi=          acpi
546 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
547 _aesni=         aesni
548 .endif
549 _amdsbwd=       amdsbwd
550 _amdtemp=       amdtemp
551 _arcmsr=        arcmsr
552 _asmc=          asmc
553 _ciss=          ciss
554 _cmx=           cmx
555 _coretemp=      coretemp
556 .if ${MK_SOURCELESS_HOST} != "no"
557 _hpt27xx=       hpt27xx
558 .endif
559 _hptiop=        hptiop
560 .if ${MK_SOURCELESS_HOST} != "no"
561 _hptmv=         hptmv
562 _hptnr=         hptnr
563 _hptrr=         hptrr
564 .endif
565 _hyperv=        hyperv
566 _ichwd=         ichwd
567 _ida=           ida
568 _iir=           iir
569 _ipmi=          ipmi
570 _ips=           ips
571 _ipw=           ipw
572 .if ${MK_SOURCELESS_UCODE} != "no"
573 _ipwfw=         ipwfw
574 .endif
575 _isci=          isci
576 _iwi=           iwi
577 .if ${MK_SOURCELESS_UCODE} != "no"
578 _iwifw=         iwifw
579 .endif
580 _iwn=           iwn
581 .if ${MK_SOURCELESS_UCODE} != "no"
582 _iwnfw=         iwnfw
583 .endif
584 _ixgb=          ixgb
585 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
586 _mlx4=          mlx4
587 _mlx4ib=        mlx4ib
588 _mlxen=         mlxen
589 .endif
590 _mly=           mly
591 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
592 _mthca=         mthca
593 .endif
594 _nfe=           nfe
595 _nvd=           nvd
596 _nvme=          nvme
597 _nvram=         nvram
598 _nxge=          nxge
599 .if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
600 _padlock=       padlock
601 _padlock_rng=   padlock_rng
602 _rdrand_rng=    rdrand_rng
603 .endif
604 _s3=            s3
605 _tpm=           tpm
606 _twa=           twa
607 _vesa=          vesa
608 _viawd=         viawd
609 _virtio=        virtio
610 _wpi=           wpi
611 .if ${MK_SOURCELESS_UCODE} != "no"
612 _wpifw=         wpifw
613 .endif
614 _x86bios=       x86bios
615 .endif
616 .endif
617
618 .if ${MACHINE_CPUARCH} == "amd64"
619 _ixl=           ixl
620 _ixlv=          ixlv
621 _ntb=           ntb
622 _qlxge=         qlxge
623 _qlxgb=         qlxgb
624 _qlxgbe=        qlxgbe
625 _sfxge=         sfxge
626
627 .if ${MK_BHYVE} != "no" || defined(ALL_MODULES)
628 _vmm=           vmm
629 .endif
630 .endif
631
632 .if ${MACHINE_CPUARCH} == "i386"
633 # XXX some of these can move to the general case when de-i386'ed
634 # XXX some of these can move now, but are untested on other architectures.
635 _3dfx=          3dfx
636 _3dfx_linux=    3dfx_linux
637 _aic=           aic
638 _apm=           apm
639 _arcnet=        arcnet
640 .if ${MK_SOURCELESS_UCODE} != "no"
641 _ce=            ce
642 .endif
643 _coff=          coff
644 .if ${MK_SOURCELESS_UCODE} != "no"
645 _cp=            cp
646 .endif
647 _elink=         elink
648 _glxiic=        glxiic
649 _glxsb=         glxsb
650 _ibcs2=         ibcs2
651 _ie=            ie
652 _mse=           mse
653 _ncr=           ncr
654 _ncv=           ncv
655 _nsp=           nsp
656 _pcfclock=      pcfclock
657 _pst=           pst
658 _sbni=          sbni
659 _streams=       streams
660 _stg=           stg
661 _svr4=          svr4
662 _wds=           wds
663 .if ${MACHINE} == "i386"
664 .if ${MK_EISA} != "no"
665 _ahb=           ahb
666 .endif
667 _bios=          bios
668 _cm=            cm
669 .if ${MK_SOURCELESS_UCODE} != "no"
670 _ctau=          ctau
671 .endif
672 _dpt=           dpt
673 _ex=            ex
674 _wl=            wl
675 .elif ${MACHINE} == "pc98"
676 _canbepm=       canbepm
677 _canbus=        canbus
678 _ct=            ct
679 _pmc=           pmc
680 _snc=           snc
681 .endif
682 .endif
683
684 .if ${MACHINE_CPUARCH} == "arm"
685 _cfi=           cfi
686 _cpsw=          cpsw
687 .endif
688
689 .if ${MACHINE_CPUARCH} == "powerpc"
690 _agp=           agp
691 _an=            an
692 _bm=            bm
693 _cardbus=       cardbus
694 _cbb=           cbb
695 _cfi=           cfi
696 _cpufreq=       cpufreq
697 _drm=           drm
698 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
699 _dtrace=        dtrace
700 .endif
701 _exca=          exca
702 _nvram=         powermac_nvram
703 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
704 _opensolaris=   opensolaris
705 .endif
706 _pccard=        pccard
707 _wi=            wi
708 .endif
709
710 .if ${MACHINE_ARCH} == "powerpc64"
711 _drm2=          drm2
712 .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
713 _zfs=           zfs
714 .endif
715 .endif
716
717 .if ${MACHINE_CPUARCH} == "sparc64"
718 _auxio=         auxio
719 _em=            em
720 _epic=          epic
721 _igb=           igb
722 .if ${MK_CDDL} != "no" || defined(ALL_MODULES)
723 _opensolaris=   opensolaris
724 .endif
725 .if ${MK_ZFS} != "no" || defined(ALL_MODULES)
726 _zfs=           zfs
727 .endif
728 .endif
729
730 .endif
731
732 SUBDIR+=${MODULES_EXTRA}
733
734 .for reject in ${WITHOUT_MODULES}
735 SUBDIR:= ${SUBDIR:N${reject}}
736 .endfor
737
738 # Calling kldxref(8) for each module is expensive.
739 .if !defined(NO_XREF)
740 .MAKEFLAGS+=    -DNO_XREF
741 afterinstall:
742         @if type kldxref >/dev/null 2>&1; then \
743                 ${ECHO} kldxref ${DESTDIR}${KMODDIR}; \
744                 kldxref ${DESTDIR}${KMODDIR}; \
745         fi
746 .endif
747
748 .include "${SYSDIR}/conf/config.mk"
749
750 SUBDIR:= ${SUBDIR:u:O}
751
752 .include <bsd.subdir.mk>