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