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