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