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