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