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