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