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