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