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