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