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