1 # $NetBSD: Makefile,v 1.270 2022/09/07 00:29:23 khorben 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+= emuxki 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+= 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