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