Makefile revision 1.298
1a96d7823Smrg# $NetBSD: Makefile,v 1.298 2025/10/21 07:23:05 pgoyette Exp $ 2a96d7823Smrg 3a96d7823Smrg.include <bsd.own.mk> 4a96d7823Smrg 5a96d7823Smrg.if !make(includes) 6a96d7823Smrg# For all platforms 7a96d7823Smrg 8a96d7823Smrg# Modules for compatibility with earlier versions of NetBSD 9a96d7823Smrg 10a96d7823SmrgSUBDIR+= compat_util 11a96d7823SmrgSUBDIR+= compat_43 compat_sysctl_09_43 12a96d7823SmrgSUBDIR+= compat_09 compat_10 compat_12 compat_13 compat_14 13a96d7823SmrgSUBDIR+= compat_16 compat_20 compat_30 compat_40 compat_50 14a96d7823SmrgSUBDIR+= compat_60 compat_70 compat_80 compat_90 compat_100 15a96d7823Smrg 16a96d7823Smrg# Not until 11.0 is released and we need binary compatibility with it 17a96d7823Smrg# in >11.0. 18a96d7823Smrg#SUBDIR+= compat_110 19a96d7823Smrg 20a96d7823SmrgSUBDIR+= compat_sysv_10 compat_sysv_14 compat_sysv_50 21a96d7823Smrg 22a96d7823SmrgSUBDIR+= compat_50_quota 23a96d7823Smrg 24a96d7823SmrgSUBDIR+= compat_raid_50 25a96d7823SmrgSUBDIR+= compat_raid_80 26a96d7823Smrg 27a96d7823SmrgSUBDIR+= compat_crypto_50 28a96d7823Smrg 29a96d7823SmrgSUBDIR+= accf_dataready 30a96d7823SmrgSUBDIR+= accf_httpready 31a96d7823SmrgSUBDIR+= adosfs 32a96d7823SmrgSUBDIR+= adiantum 33a96d7823SmrgSUBDIR+= aht20temp 34a96d7823SmrgSUBDIR+= aio 35a96d7823SmrgSUBDIR+= audio 36a96d7823SmrgSUBDIR+= autofs 37a96d7823SmrgSUBDIR+= blake2s 38a96d7823SmrgSUBDIR+= blowfish 39a96d7823SmrgSUBDIR+= bpf 40a96d7823SmrgSUBDIR+= bpf_filter 41a96d7823SmrgSUBDIR+= bmx280thp 42a96d7823SmrgSUBDIR+= bmx280thpi2c 43a96d7823SmrgSUBDIR+= bufq_disksort 44a96d7823SmrgSUBDIR+= bufq_fcfs 45a96d7823SmrgSUBDIR+= bufq_priocscan 46a96d7823SmrgSUBDIR+= bufq_readprio 47a96d7823SmrgSUBDIR+= camellia 48a96d7823SmrgSUBDIR+= cast128 49a96d7823SmrgSUBDIR+= ccd 50a96d7823SmrgSUBDIR+= cd9660 51a96d7823SmrgSUBDIR+= cgd 52a96d7823SmrgSUBDIR+= chfs 53a96d7823SmrgSUBDIR+= clockctl 54a96d7823SmrgSUBDIR+= compat_ossaudio 55a96d7823SmrgSUBDIR+= crypto 56a96d7823SmrgSUBDIR+= coda 57a96d7823SmrgSUBDIR+= coda5 58a96d7823SmrgSUBDIR+= coredump 59a96d7823SmrgSUBDIR+= dbcool 60a96d7823SmrgSUBDIR+= des 61a96d7823SmrgSUBDIR+= dk_subr 62a96d7823SmrgSUBDIR+= drvctl 63a96d7823SmrgSUBDIR+= ds2482ow 64a96d7823SmrgSUBDIR+= ds28e17iic 65a96d7823SmrgSUBDIR+= 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 built but not installed, pending resolution 484# of how to deal with attachment- 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 492#SUBDIR+= cac_eisa 493#SUBDIR+= cac_pci 494SUBDIR+= emuxki 495SUBDIR+= if_aq 496SUBDIR+= if_igc 497SUBDIR+= if_rge 498SUBDIR+= if_vioif 499SUBDIR+= if_vmx 500SUBDIR+= ld 501SUBDIR+= ld_aac 502SUBDIR+= ld_amr 503SUBDIR+= ld_ataraid 504SUBDIR+= ld_cac 505SUBDIR+= ld_icp 506SUBDIR+= ld_mlx 507SUBDIR+= ld_sdmmc 508SUBDIR+= ld_twa 509SUBDIR+= ld_twe 510SUBDIR+= ld_virtio 511#SUBDIR+= mlx 512#SUBDIR+= mlx_eisa 513SUBDIR+= mlx_pci 514SUBDIR+= ld_nvme 515SUBDIR+= nvme 516SUBDIR+= twa 517SUBDIR+= twe 518SUBDIR+= vio9p 519SUBDIR+= viomb 520SUBDIR+= virtio 521SUBDIR+= virtio_pci 522SUBDIR+= vioscsi 523.endif 524 525SUBDIR+= examples # build these regularly to avoid bit-rot 526 527.endif 528 529.include <bsd.subdir.mk> 530