1 # $NetBSD: Makefile,v 1.300 2026/02/20 07:54:26 yamt 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+= ntfs 148 SUBDIR+= null 149 SUBDIR+= onewire 150 SUBDIR+= opencrypto 151 SUBDIR+= overlay 152 SUBDIR+= owtemp 153 SUBDIR+= pad 154 SUBDIR+= pciverbose 155 SUBDIR+= pf 156 SUBDIR+= ppp_bsdcomp 157 SUBDIR+= ppp_deflate 158 SUBDIR+= procfs 159 SUBDIR+= ptrace 160 SUBDIR+= ptrace_common 161 SUBDIR+= ptyfs 162 SUBDIR+= puffs 163 SUBDIR+= putter 164 SUBDIR+= raid 165 SUBDIR+= scmd 166 SUBDIR+= scmdi2c 167 SUBDIR+= scsi_subr 168 SUBDIR+= scsiverbose 169 SUBDIR+= sdtemp 170 SUBDIR+= secmodel_bsd44 171 SUBDIR+= secmodel_extensions 172 SUBDIR+= secmodel_overlay 173 SUBDIR+= securelevel 174 SUBDIR+= sequencer 175 SUBDIR+= sgp40mox 176 SUBDIR+= sht3xtemp 177 SUBDIR+= sht4xtemp 178 SUBDIR+= si70xxtemp 179 SUBDIR+= skipjack 180 SUBDIR+= slcompress 181 SUBDIR+= spdmem 182 SUBDIR+= spkr 183 SUBDIR+= sppp_subr 184 SUBDIR+= sysmon 185 SUBDIR+= sysmon_envsys 186 SUBDIR+= sysmon_power 187 SUBDIR+= sysmon_taskq 188 SUBDIR+= sysmon_wdog 189 SUBDIR+= sysvbfs 190 SUBDIR+= sysv_ipc 191 SUBDIR+= suser 192 SUBDIR+= swcrypto 193 SUBDIR+= swsensor 194 SUBDIR+= swwdog 195 SUBDIR+= tmpfs 196 SUBDIR+= ualea 197 SUBDIR+= uatp 198 SUBDIR+= udf 199 SUBDIR+= ufs 200 SUBDIR+= umap 201 SUBDIR+= union 202 SUBDIR+= usbnet 203 SUBDIR+= usbverbose 204 SUBDIR+= vcoda 205 SUBDIR+= v7fs 206 SUBDIR+= vnd 207 SUBDIR+= wapbl 208 SUBDIR+= wsbell 209 SUBDIR+= zlib 210 SUBDIR+= tprof 211 .if (defined(NOTYET)) 212 SUBDIR+= unionfs 213 .endif 214 .if ${MKBINUTILS} != "no" 215 SUBDIR+= xldscripts 216 .endif 217 218 # Machine dependent section 219 .if ${MACHINE_ARCH} == "i386" || \ 220 ${MACHINE_CPU} == "m68k" 221 SUBDIR+= exec_aout 222 .endif 223 224 .if ${MACHINE_ARCH} != "alpha" && \ 225 ${MACHINE_ARCH} != "ia64" 226 SUBDIR+= exec_elf32 227 .endif 228 229 .if ${MACHINE_CPU} == "aarch64" || \ 230 ${MACHINE_ARCH} == "alpha" || \ 231 ${MACHINE_ARCH} == "ia64" || \ 232 ${MACHINE_ARCH} == "riscv64" || \ 233 ${MACHINE_ARCH} == "sparc64" || \ 234 ${MACHINE_ARCH} == "x86_64" 235 SUBDIR+= exec_elf64 236 .endif 237 238 .if ${MACHINE_ARCH} == "i386" || \ 239 ${MACHINE_ARCH} == "x86_64" 240 SUBDIR+= amdsmn 241 SUBDIR+= amdtemp 242 SUBDIR+= amdzentemp 243 SUBDIR+= coretemp 244 SUBDIR+= est 245 SUBDIR+= hdafg 246 SUBDIR+= hdaudio 247 SUBDIR+= hdaudio_pci 248 SUBDIR+= hdaudioverbose 249 SUBDIR+= hpet 250 SUBDIR+= ichsmb 251 SUBDIR+= odcm 252 SUBDIR+= pchtemp 253 SUBDIR+= powernow 254 SUBDIR+= tco 255 SUBDIR+= tprof_x86 256 .endif 257 258 .if ${MACHINE_CPU} == "aarch64" || \ 259 ${MACHINE_ARCH} == "i386" || \ 260 ${MACHINE_ARCH} == "x86_64" 261 SUBDIR+= vmt 262 .endif 263 264 .if ${HAVE_NVMM:Uno} == "yes" 265 SUBDIR+= nvmm 266 .endif 267 268 # Builds on architectures with PCI bus 269 .if \ 270 ${MACHINE} == "evbarm" || \ 271 ${MACHINE_ARCH} == "i386" || \ 272 ${MACHINE_ARCH} == "x86_64" 273 #SUBDIR+= hifn 274 SUBDIR+= if_iavf 275 SUBDIR+= if_ixl 276 SUBDIR+= ubsec 277 .endif 278 279 .if ${MKSLJIT} != "no" 280 SUBDIR+= bpfjit 281 SUBDIR+= sljit 282 .endif 283 284 # 285 # ACPI modules 286 # 287 .if ${MACHINE_ARCH} == "i386" || \ 288 ${MACHINE_ARCH} == "ia64" || \ 289 ${MACHINE_ARCH} == "x86_64" 290 SUBDIR+= acpiverbose 291 .endif 292 293 .if ${MACHINE_ARCH} == "i386" || \ 294 ${MACHINE_ARCH} == "x86_64" 295 SUBDIR+= acpiacad 296 SUBDIR+= acpibat 297 SUBDIR+= acpibut 298 SUBDIR+= acpicpu 299 SUBDIR+= acpidalb 300 SUBDIR+= acpifan 301 SUBDIR+= acpihed 302 SUBDIR+= acpilid 303 SUBDIR+= acpipmtr 304 SUBDIR+= acpitz 305 SUBDIR+= acpivga 306 SUBDIR+= acpivmgenid 307 SUBDIR+= acpiwdrt 308 SUBDIR+= acpiwmi 309 SUBDIR+= aibs 310 SUBDIR+= apei 311 SUBDIR+= asus 312 SUBDIR+= fujbp 313 SUBDIR+= fujhk 314 SUBDIR+= hpacel 315 SUBDIR+= hpqlb 316 SUBDIR+= thinkpad 317 SUBDIR+= wmidell 318 SUBDIR+= wmieeepc 319 SUBDIR+= wmihp 320 SUBDIR+= wmimsi 321 .endif 322 323 .include "${.CURDIR}/../compat/netbsd32/netbsd32.mk" 324 .if ${COMPAT_USE_NETBSD32} != "no" 325 326 SUBDIR+= compat_netbsd32 327 SUBDIR+= compat_netbsd32_09 compat_netbsd32_12 328 SUBDIR+= compat_netbsd32_13 compat_netbsd32_16 329 SUBDIR+= compat_netbsd32_20 compat_netbsd32_30 330 SUBDIR+= compat_netbsd32_40 compat_netbsd32_50 331 SUBDIR+= compat_netbsd32_60 compat_netbsd32_80 332 SUBDIR+= compat_netbsd32_90 compat_netbsd32_100 333 SUBDIR+= compat_netbsd32_43 334 SUBDIR+= compat_netbsd32_coredump 335 SUBDIR+= compat_netbsd32_mqueue 336 SUBDIR+= compat_netbsd32_nfssrv 337 SUBDIR+= compat_netbsd32_ptrace 338 SUBDIR+= compat_netbsd32_quota 339 SUBDIR+= compat_netbsd32_quota_50 340 SUBDIR+= compat_netbsd32_raid 341 SUBDIR+= compat_netbsd32_sysvipc 342 SUBDIR+= compat_netbsd32_sysvipc_10 343 SUBDIR+= compat_netbsd32_sysvipc_14 344 SUBDIR+= compat_netbsd32_sysvipc_50 345 346 .if ${MACHINE_ARCH} == "x86_64" 347 SUBDIR+= compat_linux32 348 .endif 349 350 .endif 351 352 .if ${MACHINE_ARCH} == "i386" 353 SUBDIR+= ati_pcigart 354 SUBDIR+= compat_freebsd 355 SUBDIR+= mach64drm 356 SUBDIR+= mgadrm 357 SUBDIR+= nsclpcsio 358 SUBDIR+= padlock 359 SUBDIR+= r128drm 360 #SUBDIR+= radeondrm 361 SUBDIR+= savagedrm 362 SUBDIR+= sisdrm 363 SUBDIR+= tdfxdrm 364 SUBDIR+= viac7temp 365 .endif 366 367 .if ${MACHINE_ARCH} == "i386" || \ 368 ${MACHINE_ARCH} == "x86_64" || \ 369 ${MACHINE_CPU} == "aarch64" 370 SUBDIR+= amdgpu 371 SUBDIR+= drmkms 372 SUBDIR+= drmkms_linux 373 SUBDIR+= drmkms_pci 374 SUBDIR+= drmkms_sched 375 SUBDIR+= drmkms_ttm 376 .endif 377 378 .if ${MACHINE_ARCH} == "i386" || \ 379 ${MACHINE_ARCH} == "x86_64" 380 SUBDIR+= drm 381 SUBDIR+= compat_linux 382 SUBDIR+= drmkms_agp 383 SUBDIR+= i915drm 384 SUBDIR+= i915drmkms 385 SUBDIR+= viadrmums 386 # 387 # ISA modules 388 # 389 SUBDIR+= aps 390 SUBDIR+= finsio 391 SUBDIR+= itesio 392 SUBDIR+= lm 393 SUBDIR+= lm_isa 394 SUBDIR+= lm_isa_common 395 SUBDIR+= lm_wbsio 396 SUBDIR+= wbsio 397 .endif 398 399 .if ${MACHINE_CPU} == "aarch64" 400 SUBDIR+= compat_linux 401 SUBDIR+= compat_linux32 402 .endif 403 404 .if ${MACHINE_CPU} == "m68k" 405 SUBDIR+= compat_aoutm68k 406 #SUBDIR+= compat_linux 407 #SUBDIR+= compat_sunos 408 .endif 409 410 .if ${MACHINE_ARCH} == "i386" || \ 411 ${MACHINE_ARCH} == "x86_64" || \ 412 ${MACHINE_ARCH} == "sparc64" 413 SUBDIR+= pwdog 414 .endif 415 416 .include <bsd.own.mk> 417 418 # 419 # NetBSD/usermode support 420 # 421 .if ${MACHINE_ARCH} == "i386" || \ 422 ${MACHINE_ARCH} == "x86_64" 423 SUBDIR+= ../arch/usermode/modules/syscallemu 424 .endif 425 426 # we need our device mapper for LVM 427 .if (${MKLVM} != "no") 428 SUBDIR+= dm 429 .endif 430 431 .if (${MKDTRACE} != "no") 432 SUBDIR+= cyclic 433 SUBDIR+= dtrace 434 .endif 435 436 SUBDIR+= sodium 437 438 # we need solaris for the dtrace and zfs modules 439 .if (${MKDTRACE} != "no" || ${MKZFS} != "no") 440 SUBDIR+= solaris 441 .endif 442 443 .if (${MKZFS} != "no") 444 SUBDIR+= zfs 445 .endif 446 447 .if (${MKCOMPATMODULES} != "no") 448 SUBDIR+= arch 449 .endif 450 451 # 452 # DTV modules 453 # 454 SUBDIR+= dtv 455 SUBDIR+= dtv_math 456 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 457 # tuners/demods 458 SUBDIR+= au8522 459 SUBDIR+= cx24227 460 SUBDIR+= lg3303 461 SUBDIR+= mt2131 462 SUBDIR+= nxt2k 463 SUBDIR+= tvpll 464 SUBDIR+= xc3028 465 SUBDIR+= xc5k 466 SUBDIR+= zl10353 467 # hardware drivers 468 SUBDIR+= auvitek 469 SUBDIR+= coram 470 SUBDIR+= cxdtv 471 SUBDIR+= emdtv 472 473 # Intel Integrated Memory Controller and associated SMBus 474 # (Experimental) 475 SUBDIR+= imc 476 SUBDIR+= imcsmb 477 478 .endif 479 480 .if (${MKISCSI} != "no") 481 SUBDIR+= iscsi 482 .endif 483 484 # For now, all of these are built but not installed, pending resolution 485 # of how to deal with attachment- and bus-specific modules (as opposed 486 # to machine- or architecture-specific modules) 487 # 488 # See also PR kern/59716 489 490 .if 0 491 SUBDIR+= aac 492 SUBDIR+= amr 493 SUBDIR+= ataraid 494 SUBDIR+= cac 495 #SUBDIR+= cac_eisa 496 #SUBDIR+= cac_pci 497 SUBDIR+= emuxki 498 SUBDIR+= if_aq 499 SUBDIR+= if_igc 500 SUBDIR+= if_rge 501 SUBDIR+= if_vioif 502 SUBDIR+= if_vmx 503 SUBDIR+= ld 504 SUBDIR+= ld_aac 505 SUBDIR+= ld_amr 506 SUBDIR+= ld_ataraid 507 SUBDIR+= ld_cac 508 SUBDIR+= ld_icp 509 SUBDIR+= ld_mlx 510 SUBDIR+= ld_sdmmc 511 SUBDIR+= ld_twa 512 SUBDIR+= ld_twe 513 SUBDIR+= ld_virtio 514 #SUBDIR+= mlx 515 #SUBDIR+= mlx_eisa 516 SUBDIR+= mlx_pci 517 SUBDIR+= ld_nvme 518 SUBDIR+= nvme 519 SUBDIR+= twa 520 SUBDIR+= twe 521 SUBDIR+= vio9p 522 SUBDIR+= viomb 523 SUBDIR+= virtio 524 SUBDIR+= virtio_pci 525 SUBDIR+= vioscsi 526 .endif 527 528 SUBDIR+= examples # build these regularly to avoid bit-rot 529 530 .endif 531 532 .include <bsd.subdir.mk> 533