Makefile revision 1.291
1# $NetBSD: Makefile,v 1.291 2024/07/18 04:28:55 rin 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+= acpiwdrt 302SUBDIR+= acpiwmi 303SUBDIR+= aibs 304SUBDIR+= apei 305SUBDIR+= asus 306SUBDIR+= fujbp 307SUBDIR+= fujhk 308SUBDIR+= hpacel 309SUBDIR+= hpqlb 310SUBDIR+= thinkpad 311SUBDIR+= wmidell 312SUBDIR+= wmieeepc 313SUBDIR+= wmihp 314SUBDIR+= wmimsi 315.endif 316 317.include "${.CURDIR}/../compat/netbsd32/netbsd32.mk" 318.if ${COMPAT_USE_NETBSD32} != "no" 319 320SUBDIR+= compat_netbsd32 321SUBDIR+= compat_netbsd32_09 compat_netbsd32_12 322SUBDIR+= compat_netbsd32_13 compat_netbsd32_16 323SUBDIR+= compat_netbsd32_20 compat_netbsd32_30 324SUBDIR+= compat_netbsd32_40 compat_netbsd32_50 325SUBDIR+= compat_netbsd32_60 compat_netbsd32_80 326SUBDIR+= compat_netbsd32_90 compat_netbsd32_100 327SUBDIR+= compat_netbsd32_43 328SUBDIR+= compat_netbsd32_coredump 329SUBDIR+= compat_netbsd32_mqueue 330SUBDIR+= compat_netbsd32_nfssrv 331SUBDIR+= compat_netbsd32_ptrace 332SUBDIR+= compat_netbsd32_quota 333SUBDIR+= compat_netbsd32_quota_50 334SUBDIR+= compat_netbsd32_raid 335SUBDIR+= compat_netbsd32_sysvipc 336SUBDIR+= compat_netbsd32_sysvipc_10 337SUBDIR+= compat_netbsd32_sysvipc_14 338SUBDIR+= compat_netbsd32_sysvipc_50 339 340.if ${MACHINE_ARCH} == "x86_64" 341SUBDIR+= compat_linux32 342.endif 343 344.endif 345 346.if ${MACHINE_ARCH} == "i386" 347SUBDIR+= ati_pcigart 348SUBDIR+= compat_freebsd 349SUBDIR+= mach64drm 350SUBDIR+= mgadrm 351SUBDIR+= nsclpcsio 352SUBDIR+= padlock 353SUBDIR+= r128drm 354#SUBDIR+= radeondrm 355SUBDIR+= savagedrm 356SUBDIR+= sisdrm 357SUBDIR+= tdfxdrm 358SUBDIR+= viac7temp 359.endif 360 361.if ${MACHINE_ARCH} == "i386" || \ 362 ${MACHINE_ARCH} == "x86_64" || \ 363 ${MACHINE_CPU} == "aarch64" 364SUBDIR+= amdgpu 365SUBDIR+= drmkms 366SUBDIR+= drmkms_linux 367SUBDIR+= drmkms_pci 368SUBDIR+= drmkms_sched 369SUBDIR+= drmkms_ttm 370.endif 371 372.if ${MACHINE_ARCH} == "i386" || \ 373 ${MACHINE_ARCH} == "x86_64" 374SUBDIR+= drm 375SUBDIR+= compat_linux 376SUBDIR+= drmkms_agp 377SUBDIR+= i915drm 378SUBDIR+= i915drmkms 379SUBDIR+= viadrmums 380# 381# ISA modules 382# 383SUBDIR+= aps 384SUBDIR+= finsio 385SUBDIR+= itesio 386SUBDIR+= lm 387SUBDIR+= lm_isa 388SUBDIR+= lm_isa_common 389SUBDIR+= lm_wbsio 390SUBDIR+= wbsio 391.endif 392 393.if ${MACHINE_CPU} == "aarch64" 394SUBDIR+= compat_linux 395SUBDIR+= compat_linux32 396.endif 397 398.if ${MACHINE_CPU} == "m68k" 399SUBDIR+= compat_aoutm68k 400#SUBDIR+= compat_linux 401#SUBDIR+= compat_sunos 402.endif 403 404.if ${MACHINE_ARCH} == "i386" || \ 405 ${MACHINE_ARCH} == "x86_64" || \ 406 ${MACHINE_ARCH} == "sparc64" 407SUBDIR+= pwdog 408.endif 409 410.include <bsd.own.mk> 411 412# 413# NetBSD/usermode support 414# 415.if ${MACHINE_ARCH} == "i386" || \ 416 ${MACHINE_ARCH} == "x86_64" 417SUBDIR+= ../arch/usermode/modules/syscallemu 418.endif 419 420# we need our device mapper for LVM 421.if (${MKLVM} != "no") 422SUBDIR+= dm 423.endif 424 425.if (${MKDTRACE} != "no") 426SUBDIR+= cyclic 427SUBDIR+= dtrace 428.endif 429 430SUBDIR+= sodium 431 432# we need solaris for the dtrace and zfs modules 433.if (${MKDTRACE} != "no" || ${MKZFS} != "no") 434SUBDIR+= solaris 435.endif 436 437.if (${MKZFS} != "no") 438SUBDIR+= zfs 439.endif 440 441.if (${MKCOMPATMODULES} != "no") 442SUBDIR+= arch 443.endif 444 445# 446# DTV modules 447# 448SUBDIR+= dtv 449SUBDIR+= dtv_math 450.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 451# tuners/demods 452SUBDIR+= au8522 453SUBDIR+= cx24227 454SUBDIR+= lg3303 455SUBDIR+= mt2131 456SUBDIR+= nxt2k 457SUBDIR+= tvpll 458SUBDIR+= xc3028 459SUBDIR+= xc5k 460SUBDIR+= zl10353 461# hardware drivers 462SUBDIR+= auvitek 463SUBDIR+= coram 464SUBDIR+= cxdtv 465SUBDIR+= emdtv 466 467# Intel Integrated Memory Controller and associated SMBus 468# (Experimental) 469SUBDIR+= imc 470SUBDIR+= imcsmb 471 472.endif 473 474.if (${MKISCSI} != "no") 475SUBDIR+= iscsi 476.endif 477 478# For now, all of these are disabled, pending resolution of how to deal 479# with attachment-specific modules and bus-specific modules (as opposed 480# to machine- or architecture-specific modules) 481 482.if 0 483SUBDIR+= aac 484SUBDIR+= amr 485SUBDIR+= ataraid 486SUBDIR+= cac 487SUBDIR+= cac_eisa 488SUBDIR+= cac_pci 489SUBDIR+= emuxki 490SUBDIR+= if_aq 491SUBDIR+= if_vioif 492SUBDIR+= if_vmx 493SUBDIR+= ld 494SUBDIR+= ld_aac 495SUBDIR+= ld_amr 496SUBDIR+= ld_ataraid 497SUBDIR+= ld_cac 498SUBDIR+= ld_icp 499SUBDIR+= ld_mlx 500SUBDIR+= ld_sdmmc 501SUBDIR+= ld_twa 502SUBDIR+= ld_twe 503SUBDIR+= ld_virtio 504SUBDIR+= mlx 505SUBDIR+= mlx_eisa 506SUBDIR+= mlx_pci 507SUBDIR+= ld_nvme 508SUBDIR+= nvme 509SUBDIR+= twa 510SUBDIR+= twe 511SUBDIR+= vio9p 512SUBDIR+= viomb 513SUBDIR+= virtio 514SUBDIR+= virtio_pci 515SUBDIR+= vioscsi 516.endif 517 518SUBDIR+= examples # build these regularly to avoid bit-rot 519 520.endif 521 522.include <bsd.subdir.mk> 523