1# $NetBSD: Makefile,v 1.251 2021/08/09 20:49:10 andvar Exp $ 2 3.include <bsd.own.mk> 4 5# For all platforms 6 7# Modules for compatibility with earlier versions of NetBSD 8 9SUBDIR+= compat_util 10SUBDIR+= compat_43 compat_sysctl_09_43 11SUBDIR+= compat_09 compat_10 compat_12 compat_13 compat_14 12SUBDIR+= compat_16 compat_20 compat_30 compat_40 compat_50 13SUBDIR+= compat_60 compat_70 compat_80 compat_90 14 15SUBDIR+= compat_sysv_10 compat_sysv_14 compat_sysv_50 16 17SUBDIR+= compat_50_quota 18 19SUBDIR+= compat_raid_50 20SUBDIR+= compat_raid_80 21 22SUBDIR+= compat_crypto_50 23 24SUBDIR+= accf_dataready 25SUBDIR+= accf_httpready 26SUBDIR+= adosfs 27SUBDIR+= aio 28SUBDIR+= audio 29SUBDIR+= autofs 30SUBDIR+= blowfish 31SUBDIR+= bpf 32SUBDIR+= bpf_filter 33SUBDIR+= bufq_disksort 34SUBDIR+= bufq_fcfs 35SUBDIR+= bufq_priocscan 36SUBDIR+= bufq_readprio 37SUBDIR+= camellia 38SUBDIR+= cast128 39SUBDIR+= ccd 40SUBDIR+= cd9660 41SUBDIR+= cgd 42SUBDIR+= chfs 43SUBDIR+= clockctl 44SUBDIR+= compat_ossaudio 45SUBDIR+= crypto 46SUBDIR+= coda 47SUBDIR+= coda5 48SUBDIR+= coredump 49SUBDIR+= dbcool 50SUBDIR+= des 51SUBDIR+= dk_subr 52SUBDIR+= drvctl 53SUBDIR+= efs 54SUBDIR+= ext2fs 55SUBDIR+= exec_script 56SUBDIR+= fdesc 57SUBDIR+= ffs 58SUBDIR+= filecore 59SUBDIR+= flash 60SUBDIR+= fss 61SUBDIR+= gpio 62SUBDIR+= gpioiic 63SUBDIR+= gpioow 64SUBDIR+= gpiosim 65SUBDIR+= gpioirq 66SUBDIR+= gpiopps 67SUBDIR+= hfs 68SUBDIR+= hythygtemp 69SUBDIR+= si70xxtemp 70SUBDIR+= am2315temp 71SUBDIR+= i2cexec 72SUBDIR+= i2c_bitbang 73SUBDIR+= if_agr 74SUBDIR+= if_aue 75SUBDIR+= if_axe 76SUBDIR+= if_axen 77SUBDIR+= if_cdce 78SUBDIR+= if_cue 79SUBDIR+= if_faith 80SUBDIR+= if_gif 81SUBDIR+= if_gre 82SUBDIR+= if_kue 83SUBDIR+= if_l2tp 84SUBDIR+= if_lagg 85SUBDIR+= if_loop 86SUBDIR+= if_mpls 87SUBDIR+= if_mue 88SUBDIR+= if_npflog 89SUBDIR+= if_ppp 90SUBDIR+= if_pppoe 91SUBDIR+= if_sl 92SUBDIR+= if_smsc 93SUBDIR+= if_srt srt 94SUBDIR+= if_stf 95SUBDIR+= if_tap tap 96SUBDIR+= if_tun tun 97SUBDIR+= if_udav 98SUBDIR+= if_upl 99SUBDIR+= if_ure 100SUBDIR+= if_url 101SUBDIR+= if_urndis 102SUBDIR+= if_vlan 103SUBDIR+= iic 104SUBDIR+= ip_ecn 105SUBDIR+= ipl 106SUBDIR+= kernfs 107SUBDIR+= layerfs 108SUBDIR+= lfs 109SUBDIR+= lua 110SUBDIR+= luasystm 111SUBDIR+= luapmf 112SUBDIR+= mfs 113SUBDIR+= midi 114SUBDIR+= miiverbose 115SUBDIR+= miniroot 116SUBDIR+= mqueue 117SUBDIR+= msdos 118SUBDIR+= nand 119SUBDIR+= nandemulator 120SUBDIR+= nfs 121SUBDIR+= nfsserver 122SUBDIR+= nilfs 123SUBDIR+= npf 124SUBDIR+= npf_alg_icmp 125SUBDIR+= npf_ext_log 126SUBDIR+= npf_ext_normalize 127SUBDIR+= npf_ext_rndblock 128SUBDIR+= ntfs 129SUBDIR+= null 130SUBDIR+= onewire 131SUBDIR+= opencrypto 132SUBDIR+= overlay 133SUBDIR+= pad 134SUBDIR+= pciverbose 135SUBDIR+= pf 136SUBDIR+= ppp_bsdcomp 137SUBDIR+= ppp_deflate 138SUBDIR+= procfs 139SUBDIR+= ptrace 140SUBDIR+= ptrace_common 141SUBDIR+= ptyfs 142SUBDIR+= puffs 143SUBDIR+= putter 144SUBDIR+= raid 145SUBDIR+= scsiverbose 146SUBDIR+= sdtemp 147SUBDIR+= secmodel_bsd44 148SUBDIR+= secmodel_extensions 149SUBDIR+= secmodel_overlay 150SUBDIR+= securelevel 151SUBDIR+= sequencer 152SUBDIR+= skipjack 153SUBDIR+= slcompress 154SUBDIR+= spdmem 155SUBDIR+= spkr 156SUBDIR+= sppp_subr 157SUBDIR+= sysmon 158SUBDIR+= sysmon_envsys 159SUBDIR+= sysmon_power 160SUBDIR+= sysmon_taskq 161SUBDIR+= sysmon_wdog 162SUBDIR+= sysvbfs 163SUBDIR+= sysv_ipc 164SUBDIR+= suser 165SUBDIR+= swcrypto 166SUBDIR+= swsensor 167SUBDIR+= swwdog 168SUBDIR+= tmpfs 169SUBDIR+= ualea 170SUBDIR+= uatp 171SUBDIR+= udf 172SUBDIR+= ufs 173SUBDIR+= umap 174SUBDIR+= union 175SUBDIR+= usbnet 176SUBDIR+= usbverbose 177SUBDIR+= vcoda 178SUBDIR+= v7fs 179SUBDIR+= vnd 180SUBDIR+= wapbl 181SUBDIR+= wsbell 182SUBDIR+= zlib 183SUBDIR+= tprof 184.if (defined(NOTYET)) 185SUBDIR+= unionfs 186.endif 187.if ${MKBINUTILS} != "no" 188SUBDIR+= xldscripts 189.endif 190 191# Machine dependent section 192.if ${MACHINE_ARCH} == "i386" || \ 193 ${MACHINE_CPU} == "m68k" 194SUBDIR+= exec_aout 195.endif 196 197.if ${MACHINE_ARCH} != "alpha" && \ 198 ${MACHINE_ARCH} != "ia64" 199SUBDIR+= exec_elf32 200.endif 201 202.if ${MACHINE_CPU} == "aarch64" || \ 203 ${MACHINE_ARCH} == "alpha" || \ 204 ${MACHINE_ARCH} == "ia64" || \ 205 ${MACHINE_ARCH} == "sparc64" || \ 206 ${MACHINE_ARCH} == "x86_64" 207SUBDIR+= exec_elf64 208.endif 209 210.if ${MACHINE_ARCH} == "i386" || \ 211 ${MACHINE_ARCH} == "x86_64" 212SUBDIR+= amdsmn 213SUBDIR+= amdtemp 214SUBDIR+= amdzentemp 215SUBDIR+= coretemp 216SUBDIR+= est 217SUBDIR+= hdafg 218SUBDIR+= hdaudio 219SUBDIR+= hdaudio_pci 220SUBDIR+= hdaudioverbose 221SUBDIR+= hpet 222SUBDIR+= ichsmb 223SUBDIR+= odcm 224SUBDIR+= powernow 225SUBDIR+= tco 226SUBDIR+= tprof_x86 227SUBDIR+= vmt 228.endif 229 230.if ${HAVE_NVMM:Uno} == "yes" 231SUBDIR+= nvmm 232.endif 233 234# Builds on architectures with PCI bus 235.if \ 236 ${MACHINE} == "evbarm" || \ 237 ${MACHINE_ARCH} == "i386" || \ 238 ${MACHINE_ARCH} == "x86_64" 239#SUBDIR+= hifn 240SUBDIR+= if_iavf 241SUBDIR+= if_ixl 242SUBDIR+= ubsec 243.endif 244 245.if ${MKSLJIT} != "no" 246# No modules for 32-bit arm, mips and powerpc yet. 247.if ${MACHINE_ARCH} == "aarch64" || \ 248 ${MACHINE_ARCH} == "i386" || \ 249 ${MACHINE_ARCH} == "sparc" || \ 250 ${MACHINE_ARCH} == "x86_64" 251SUBDIR+= bpfjit 252SUBDIR+= sljit 253.endif 254.endif 255 256# 257# ACPI modules 258# 259.if ${MACHINE_ARCH} == "i386" || \ 260 ${MACHINE_ARCH} == "ia64" || \ 261 ${MACHINE_ARCH} == "x86_64" 262SUBDIR+= acpiverbose 263.endif 264 265.if ${MACHINE_ARCH} == "i386" || \ 266 ${MACHINE_ARCH} == "x86_64" 267SUBDIR+= acpiacad 268SUBDIR+= acpibat 269SUBDIR+= acpibut 270SUBDIR+= acpicpu 271SUBDIR+= acpidalb 272SUBDIR+= acpifan 273SUBDIR+= acpilid 274SUBDIR+= acpipmtr 275SUBDIR+= acpitz 276SUBDIR+= acpivga 277SUBDIR+= acpiwdrt 278SUBDIR+= acpiwmi 279SUBDIR+= aibs 280SUBDIR+= asus 281SUBDIR+= fujbp 282SUBDIR+= fujhk 283SUBDIR+= hpacel 284SUBDIR+= hpqlb 285SUBDIR+= thinkpad 286SUBDIR+= wmidell 287SUBDIR+= wmieeepc 288SUBDIR+= wmihp 289SUBDIR+= wmimsi 290.endif 291 292.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk" 293.if ${COMPAT_USE_NETBSD32} != "no" 294 295SUBDIR+= compat_netbsd32 296SUBDIR+= compat_netbsd32_09 compat_netbsd32_12 297SUBDIR+= compat_netbsd32_13 compat_netbsd32_16 298SUBDIR+= compat_netbsd32_20 compat_netbsd32_30 299SUBDIR+= compat_netbsd32_40 compat_netbsd32_50 300SUBDIR+= compat_netbsd32_60 compat_netbsd32_80 301SUBDIR+= compat_netbsd32_90 302SUBDIR+= compat_netbsd32_43 303SUBDIR+= compat_netbsd32_coredump 304SUBDIR+= compat_netbsd32_mqueue 305SUBDIR+= compat_netbsd32_nfssrv 306SUBDIR+= compat_netbsd32_ptrace 307SUBDIR+= compat_netbsd32_quota 308SUBDIR+= compat_netbsd32_quota_50 309SUBDIR+= compat_netbsd32_raid 310SUBDIR+= compat_netbsd32_sysvipc 311SUBDIR+= compat_netbsd32_sysvipc_10 312SUBDIR+= compat_netbsd32_sysvipc_14 313SUBDIR+= compat_netbsd32_sysvipc_50 314 315.if ${MACHINE_ARCH} == "x86_64" 316SUBDIR+= compat_linux32 317.endif 318 319.endif 320 321.if ${MACHINE_ARCH} == "i386" 322SUBDIR+= ati_pcigart 323SUBDIR+= compat_freebsd 324SUBDIR+= mach64drm 325SUBDIR+= mgadrm 326SUBDIR+= nsclpcsio 327SUBDIR+= padlock 328SUBDIR+= r128drm 329SUBDIR+= radeondrm 330SUBDIR+= savagedrm 331SUBDIR+= sisdrm 332SUBDIR+= tdfxdrm 333SUBDIR+= viac7temp 334SUBDIR+= viadrmums 335.endif 336 337.if ${MACHINE_ARCH} == "i386" || \ 338 ${MACHINE_ARCH} == "x86_64" 339SUBDIR+= compat_linux 340SUBDIR+= drm 341SUBDIR+= drmkms 342SUBDIR+= drmkms_agp 343SUBDIR+= drmkms_linux 344SUBDIR+= drmkms_pci 345SUBDIR+= i915drm 346SUBDIR+= i915drmkms 347# 348# ISA modules 349# 350SUBDIR+= aps 351SUBDIR+= finsio 352SUBDIR+= itesio 353SUBDIR+= lm 354SUBDIR+= lm_isa 355SUBDIR+= lm_isa_common 356SUBDIR+= lm_wbsio 357SUBDIR+= wbsio 358.endif 359 360.if ${MACHINE_CPU} == "m68k" 361SUBDIR+= compat_aoutm68k 362#SUBDIR+= compat_linux 363#SUBDIR+= compat_sunos 364.endif 365 366.if ${MACHINE_ARCH} == "i386" || \ 367 ${MACHINE_ARCH} == "x86_64" || \ 368 ${MACHINE_ARCH} == "sparc64" 369SUBDIR+= pwdog 370.endif 371 372.include <bsd.own.mk> 373 374# 375# NetBSD/usermode support 376# 377.if ${MACHINE_ARCH} == "i386" || \ 378 ${MACHINE_ARCH} == "x86_64" 379SUBDIR+= ../arch/usermode/modules/syscallemu 380.endif 381 382# we need our device mapper for LVM 383.if (${MKLVM} != "no") 384SUBDIR+= dm 385.endif 386 387.if (${MKDTRACE} != "no") 388SUBDIR+= cyclic 389SUBDIR+= dtrace 390.endif 391 392# we need solaris for the dtrace and zfs modules 393.if (${MKDTRACE} != "no" || ${MKZFS} != "no") 394SUBDIR+= solaris 395.endif 396 397.if (${MKZFS} != "no") 398SUBDIR+= zfs 399.endif 400 401.if (${MKCOMPATMODULES} != "no") 402SUBDIR+= arch 403.endif 404 405# 406# DTV modules 407# 408SUBDIR+= dtv 409SUBDIR+= dtv_math 410.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 411# tuners/demods 412SUBDIR+= au8522 413SUBDIR+= cx24227 414SUBDIR+= lg3303 415SUBDIR+= mt2131 416SUBDIR+= nxt2k 417SUBDIR+= tvpll 418SUBDIR+= xc3028 419SUBDIR+= xc5k 420SUBDIR+= zl10353 421# hardware drivers 422SUBDIR+= auvitek 423SUBDIR+= coram 424SUBDIR+= cxdtv 425SUBDIR+= emdtv 426 427# Intel Integrated Memory Controller and associated SMBus 428# (Experimental) 429SUBDIR+= imc 430SUBDIR+= imcsmb 431 432.endif 433 434.if (${MKISCSI} != "no") 435SUBDIR+= iscsi 436.endif 437 438# For now, all of these are disabled, pending resolution of how to deal 439# with attachment-specific modules and bus-specific modules (as opposed 440# to machine- or architecture-specific modules) 441 442.if 0 443SUBDIR+= aac 444SUBDIR+= amr 445SUBDIR+= ataraid 446SUBDIR+= cac 447SUBDIR+= cac_eisa 448SUBDIR+= cac_pci 449SUBDIR+= if_aq 450SUBDIR+= if_vioif 451SUBDIR+= if_vmx 452SUBDIR+= ld 453SUBDIR+= ld_aac 454SUBDIR+= ld_amr 455SUBDIR+= ld_ataraid 456SUBDIR+= ld_cac 457SUBDIR+= ld_icp 458SUBDIR+= ld_mlx 459SUBDIR+= ld_sdmmc 460SUBDIR+= ld_twa 461SUBDIR+= ld_twe 462SUBDIR+= ld_virtio 463SUBDIR+= mlx 464SUBDIR+= mlx_eisa 465SUBDIR+= mlx_pci 466SUBDIR+= ld_nvme 467SUBDIR+= nvme 468SUBDIR+= twa 469SUBDIR+= twe 470SUBDIR+= vio9p 471SUBDIR+= viomb 472SUBDIR+= virtio 473SUBDIR+= virtio_pci 474SUBDIR+= vioscsi 475.endif 476 477SUBDIR+= examples # build these regularly to avoid bit-rot 478 479.include <bsd.subdir.mk> 480