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