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