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