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