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