1 # $NetBSD: Makefile,v 1.296 2025/03/11 13:56:46 brad 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+= powernow 253 SUBDIR+= tco 254 SUBDIR+= tprof_x86 255 .endif 256 257 .if ${MACHINE_CPU} == "aarch64" || \ 258 ${MACHINE_ARCH} == "i386" || \ 259 ${MACHINE_ARCH} == "x86_64" 260 SUBDIR+= vmt 261 .endif 262 263 .if ${HAVE_NVMM:Uno} == "yes" 264 SUBDIR+= nvmm 265 .endif 266 267 # Builds on architectures with PCI bus 268 .if \ 269 ${MACHINE} == "evbarm" || \ 270 ${MACHINE_ARCH} == "i386" || \ 271 ${MACHINE_ARCH} == "x86_64" 272 #SUBDIR+= hifn 273 SUBDIR+= if_iavf 274 SUBDIR+= if_ixl 275 SUBDIR+= ubsec 276 .endif 277 278 .if ${MKSLJIT} != "no" 279 SUBDIR+= bpfjit 280 SUBDIR+= sljit 281 .endif 282 283 # 284 # ACPI modules 285 # 286 .if ${MACHINE_ARCH} == "i386" || \ 287 ${MACHINE_ARCH} == "ia64" || \ 288 ${MACHINE_ARCH} == "x86_64" 289 SUBDIR+= acpiverbose 290 .endif 291 292 .if ${MACHINE_ARCH} == "i386" || \ 293 ${MACHINE_ARCH} == "x86_64" 294 SUBDIR+= acpiacad 295 SUBDIR+= acpibat 296 SUBDIR+= acpibut 297 SUBDIR+= acpicpu 298 SUBDIR+= acpidalb 299 SUBDIR+= acpifan 300 SUBDIR+= acpihed 301 SUBDIR+= acpilid 302 SUBDIR+= acpipmtr 303 SUBDIR+= acpitz 304 SUBDIR+= acpivga 305 SUBDIR+= acpivmgenid 306 SUBDIR+= acpiwdrt 307 SUBDIR+= acpiwmi 308 SUBDIR+= aibs 309 SUBDIR+= apei 310 SUBDIR+= asus 311 SUBDIR+= fujbp 312 SUBDIR+= fujhk 313 SUBDIR+= hpacel 314 SUBDIR+= hpqlb 315 SUBDIR+= thinkpad 316 SUBDIR+= wmidell 317 SUBDIR+= wmieeepc 318 SUBDIR+= wmihp 319 SUBDIR+= wmimsi 320 .endif 321 322 .include "${.CURDIR}/../compat/netbsd32/netbsd32.mk" 323 .if ${COMPAT_USE_NETBSD32} != "no" 324 325 SUBDIR+= compat_netbsd32 326 SUBDIR+= compat_netbsd32_09 compat_netbsd32_12 327 SUBDIR+= compat_netbsd32_13 compat_netbsd32_16 328 SUBDIR+= compat_netbsd32_20 compat_netbsd32_30 329 SUBDIR+= compat_netbsd32_40 compat_netbsd32_50 330 SUBDIR+= compat_netbsd32_60 compat_netbsd32_80 331 SUBDIR+= compat_netbsd32_90 compat_netbsd32_100 332 SUBDIR+= compat_netbsd32_43 333 SUBDIR+= compat_netbsd32_coredump 334 SUBDIR+= compat_netbsd32_mqueue 335 SUBDIR+= compat_netbsd32_nfssrv 336 SUBDIR+= compat_netbsd32_ptrace 337 SUBDIR+= compat_netbsd32_quota 338 SUBDIR+= compat_netbsd32_quota_50 339 SUBDIR+= compat_netbsd32_raid 340 SUBDIR+= compat_netbsd32_sysvipc 341 SUBDIR+= compat_netbsd32_sysvipc_10 342 SUBDIR+= compat_netbsd32_sysvipc_14 343 SUBDIR+= compat_netbsd32_sysvipc_50 344 345 .if ${MACHINE_ARCH} == "x86_64" 346 SUBDIR+= compat_linux32 347 .endif 348 349 .endif 350 351 .if ${MACHINE_ARCH} == "i386" 352 SUBDIR+= ati_pcigart 353 SUBDIR+= compat_freebsd 354 SUBDIR+= mach64drm 355 SUBDIR+= mgadrm 356 SUBDIR+= nsclpcsio 357 SUBDIR+= padlock 358 SUBDIR+= r128drm 359 #SUBDIR+= radeondrm 360 SUBDIR+= savagedrm 361 SUBDIR+= sisdrm 362 SUBDIR+= tdfxdrm 363 SUBDIR+= viac7temp 364 .endif 365 366 .if ${MACHINE_ARCH} == "i386" || \ 367 ${MACHINE_ARCH} == "x86_64" || \ 368 ${MACHINE_CPU} == "aarch64" 369 SUBDIR+= amdgpu 370 SUBDIR+= drmkms 371 SUBDIR+= drmkms_linux 372 SUBDIR+= drmkms_pci 373 SUBDIR+= drmkms_sched 374 SUBDIR+= drmkms_ttm 375 .endif 376 377 .if ${MACHINE_ARCH} == "i386" || \ 378 ${MACHINE_ARCH} == "x86_64" 379 SUBDIR+= drm 380 SUBDIR+= compat_linux 381 SUBDIR+= drmkms_agp 382 SUBDIR+= i915drm 383 SUBDIR+= i915drmkms 384 SUBDIR+= viadrmums 385 # 386 # ISA modules 387 # 388 SUBDIR+= aps 389 SUBDIR+= finsio 390 SUBDIR+= itesio 391 SUBDIR+= lm 392 SUBDIR+= lm_isa 393 SUBDIR+= lm_isa_common 394 SUBDIR+= lm_wbsio 395 SUBDIR+= wbsio 396 .endif 397 398 .if ${MACHINE_CPU} == "aarch64" 399 SUBDIR+= compat_linux 400 SUBDIR+= compat_linux32 401 .endif 402 403 .if ${MACHINE_CPU} == "m68k" 404 SUBDIR+= compat_aoutm68k 405 #SUBDIR+= compat_linux 406 #SUBDIR+= compat_sunos 407 .endif 408 409 .if ${MACHINE_ARCH} == "i386" || \ 410 ${MACHINE_ARCH} == "x86_64" || \ 411 ${MACHINE_ARCH} == "sparc64" 412 SUBDIR+= pwdog 413 .endif 414 415 .include <bsd.own.mk> 416 417 # 418 # NetBSD/usermode support 419 # 420 .if ${MACHINE_ARCH} == "i386" || \ 421 ${MACHINE_ARCH} == "x86_64" 422 SUBDIR+= ../arch/usermode/modules/syscallemu 423 .endif 424 425 # we need our device mapper for LVM 426 .if (${MKLVM} != "no") 427 SUBDIR+= dm 428 .endif 429 430 .if (${MKDTRACE} != "no") 431 SUBDIR+= cyclic 432 SUBDIR+= dtrace 433 .endif 434 435 SUBDIR+= sodium 436 437 # we need solaris for the dtrace and zfs modules 438 .if (${MKDTRACE} != "no" || ${MKZFS} != "no") 439 SUBDIR+= solaris 440 .endif 441 442 .if (${MKZFS} != "no") 443 SUBDIR+= zfs 444 .endif 445 446 .if (${MKCOMPATMODULES} != "no") 447 SUBDIR+= arch 448 .endif 449 450 # 451 # DTV modules 452 # 453 SUBDIR+= dtv 454 SUBDIR+= dtv_math 455 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 456 # tuners/demods 457 SUBDIR+= au8522 458 SUBDIR+= cx24227 459 SUBDIR+= lg3303 460 SUBDIR+= mt2131 461 SUBDIR+= nxt2k 462 SUBDIR+= tvpll 463 SUBDIR+= xc3028 464 SUBDIR+= xc5k 465 SUBDIR+= zl10353 466 # hardware drivers 467 SUBDIR+= auvitek 468 SUBDIR+= coram 469 SUBDIR+= cxdtv 470 SUBDIR+= emdtv 471 472 # Intel Integrated Memory Controller and associated SMBus 473 # (Experimental) 474 SUBDIR+= imc 475 SUBDIR+= imcsmb 476 477 .endif 478 479 .if (${MKISCSI} != "no") 480 SUBDIR+= iscsi 481 .endif 482 483 # For now, all of these are disabled, pending resolution of how to deal 484 # with attachment-specific modules and bus-specific modules (as opposed 485 # to machine- or architecture-specific modules) 486 487 .if 0 488 SUBDIR+= aac 489 SUBDIR+= amr 490 SUBDIR+= ataraid 491 SUBDIR+= cac 492 SUBDIR+= cac_eisa 493 SUBDIR+= cac_pci 494 SUBDIR+= emuxki 495 SUBDIR+= if_aq 496 SUBDIR+= if_vioif 497 SUBDIR+= if_vmx 498 SUBDIR+= ld 499 SUBDIR+= ld_aac 500 SUBDIR+= ld_amr 501 SUBDIR+= ld_ataraid 502 SUBDIR+= ld_cac 503 SUBDIR+= ld_icp 504 SUBDIR+= ld_mlx 505 SUBDIR+= ld_sdmmc 506 SUBDIR+= ld_twa 507 SUBDIR+= ld_twe 508 SUBDIR+= ld_virtio 509 SUBDIR+= mlx 510 SUBDIR+= mlx_eisa 511 SUBDIR+= mlx_pci 512 SUBDIR+= ld_nvme 513 SUBDIR+= nvme 514 SUBDIR+= twa 515 SUBDIR+= twe 516 SUBDIR+= vio9p 517 SUBDIR+= viomb 518 SUBDIR+= virtio 519 SUBDIR+= virtio_pci 520 SUBDIR+= vioscsi 521 .endif 522 523 SUBDIR+= examples # build these regularly to avoid bit-rot 524 525 .endif 526 527 .include <bsd.subdir.mk> 528