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