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