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