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