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