| 1 |
# $FreeBSD$ |
| 2 |
# |
| 3 |
# Option file for FreeBSD /usr/src builds. |
| 4 |
# |
| 5 |
# Users define WITH_FOO and WITHOUT_FOO on the command line or in /etc/src.conf |
| 6 |
# and /etc/make.conf files. These translate in the build system to MK_FOO={yes,no} |
| 7 |
# with sensible (usually) defaults. |
| 8 |
# |
| 9 |
# Makefiles must include bsd.opts.mk after defining specific MK_FOO options that |
| 10 |
# are applicable for that Makefile (typically there are none, but sometimes there |
| 11 |
# are exceptions). Recursive makes usually add MK_FOO=no for options that they wish |
| 12 |
# to omit from that make. |
| 13 |
# |
| 14 |
# Makefiles must include bsd.mkopt.mk before they test the value of any MK_FOO |
| 15 |
# variable. |
| 16 |
# |
| 17 |
# Makefiles may also assume that this file is included by src.opts.mk should it |
| 18 |
# need variables defined there prior to the end of the Makefile where |
| 19 |
# bsd.{subdir,lib.bin}.mk is traditionally included. |
| 20 |
# |
| 21 |
# The old-style YES_FOO and NO_FOO are being phased out. No new instances of them |
| 22 |
# should be added. Old instances should be removed since they were just to |
| 23 |
# bridge the gap between FreeBSD 4 and FreeBSD 5. |
| 24 |
# |
| 25 |
# Makefiles should never test WITH_FOO or WITHOUT_FOO directly (although an |
| 26 |
# exception is made for _WITHOUT_SRCONF which turns off this mechanism |
| 27 |
# completely inside bsd.*.mk files). |
| 28 |
# |
| 29 |
|
| 30 |
.if !target(__<src.opts.mk>__) |
| 31 |
__<src.opts.mk>__: |
| 32 |
|
| 33 |
.include <bsd.own.mk> |
| 34 |
|
| 35 |
# |
| 36 |
# Define MK_* variables (which are either "yes" or "no") for users |
| 37 |
# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the |
| 38 |
# make(1) environment. |
| 39 |
# These should be tested with `== "no"' or `!= "no"' in makefiles. |
| 40 |
# The NO_* variables should only be set by makefiles for variables |
| 41 |
# that haven't been converted over. |
| 42 |
# |
| 43 |
|
| 44 |
# These options are used by the src builds. Those listed in |
| 45 |
# __DEFAULT_YES_OPTIONS default to 'yes' and will build unless turned |
| 46 |
# off. __DEFAULT_NO_OPTIONS will default to 'no' and won't build |
| 47 |
# unless turned on. Any options listed in 'BROKEN_OPTIONS' will be |
| 48 |
# hard-wired to 'no'. "Broken" here means not working or |
| 49 |
# not-appropriate and/or not supported. It doesn't imply something is |
| 50 |
# wrong with the code. There's not a single good word for this, so |
| 51 |
# BROKEN was selected as the least imperfect one considered at the |
| 52 |
# time. Options are added to BROKEN_OPTIONS list on a per-arch basis. |
| 53 |
# At this time, there's no provision for mutually incompatible options. |
| 54 |
|
| 55 |
__DEFAULT_YES_OPTIONS = \ |
| 56 |
ACCT \ |
| 57 |
ACPI \ |
| 58 |
APM \ |
| 59 |
AT \ |
| 60 |
ATM \ |
| 61 |
AUDIT \ |
| 62 |
AUTHPF \ |
| 63 |
AUTOFS \ |
| 64 |
BHYVE \ |
| 65 |
BLACKLIST \ |
| 66 |
BLUETOOTH \ |
| 67 |
BOOT \ |
| 68 |
BOOTPARAMD \ |
| 69 |
BOOTPD \ |
| 70 |
BSD_CPIO \ |
| 71 |
BSD_GREP \ |
| 72 |
BSDINSTALL \ |
| 73 |
BSNMP \ |
| 74 |
BZIP2 \ |
| 75 |
CALENDAR \ |
| 76 |
CAPSICUM \ |
| 77 |
CAROOT \ |
| 78 |
CASPER \ |
| 79 |
CCD \ |
| 80 |
CDDL \ |
| 81 |
CLANG \ |
| 82 |
CLANG_BOOTSTRAP \ |
| 83 |
CLANG_IS_CC \ |
| 84 |
CLEAN \ |
| 85 |
CPP \ |
| 86 |
CROSS_COMPILER \ |
| 87 |
CRYPT \ |
| 88 |
CUSE \ |
| 89 |
CXX \ |
| 90 |
CXGBETOOL \ |
| 91 |
DIALOG \ |
| 92 |
DICT \ |
| 93 |
DMAGENT \ |
| 94 |
DYNAMICROOT \ |
| 95 |
EE \ |
| 96 |
EFI \ |
| 97 |
ELFTOOLCHAIN_BOOTSTRAP \ |
| 98 |
EXAMPLES \ |
| 99 |
FDT \ |
| 100 |
FILE \ |
| 101 |
FINGER \ |
| 102 |
FLOPPY \ |
| 103 |
FMTREE \ |
| 104 |
FORTH \ |
| 105 |
FP_LIBC \ |
| 106 |
FREEBSD_UPDATE \ |
| 107 |
FTP \ |
| 108 |
GAMES \ |
| 109 |
GH_BC \ |
| 110 |
GNU_DIFF \ |
| 111 |
GOOGLETEST \ |
| 112 |
GPIO \ |
| 113 |
HAST \ |
| 114 |
HTML \ |
| 115 |
HYPERV \ |
| 116 |
ICONV \ |
| 117 |
INET \ |
| 118 |
INET6 \ |
| 119 |
INETD \ |
| 120 |
IPFILTER \ |
| 121 |
IPFW \ |
| 122 |
ISCSI \ |
| 123 |
JAIL \ |
| 124 |
KDUMP \ |
| 125 |
KVM \ |
| 126 |
LDNS \ |
| 127 |
LDNS_UTILS \ |
| 128 |
LEGACY_CONSOLE \ |
| 129 |
LIBCPLUSPLUS \ |
| 130 |
LIBPTHREAD \ |
| 131 |
LIBTHR \ |
| 132 |
LLD \ |
| 133 |
LLD_BOOTSTRAP \ |
| 134 |
LLD_IS_LD \ |
| 135 |
LLVM_ASSERTIONS \ |
| 136 |
LLVM_COV \ |
| 137 |
LLVM_CXXFILT \ |
| 138 |
LLVM_TARGET_ALL \ |
| 139 |
LOADER_GELI \ |
| 140 |
LOADER_LUA \ |
| 141 |
LOADER_OFW \ |
| 142 |
LOADER_UBOOT \ |
| 143 |
LOCALES \ |
| 144 |
LOCATE \ |
| 145 |
LPR \ |
| 146 |
LS_COLORS \ |
| 147 |
LZMA_SUPPORT \ |
| 148 |
MAIL \ |
| 149 |
MAILWRAPPER \ |
| 150 |
MAKE \ |
| 151 |
MLX5TOOL \ |
| 152 |
NDIS \ |
| 153 |
NETCAT \ |
| 154 |
NETGRAPH \ |
| 155 |
NLS_CATALOGS \ |
| 156 |
NS_CACHING \ |
| 157 |
NTP \ |
| 158 |
NVME \ |
| 159 |
OFED \ |
| 160 |
OPENSSL \ |
| 161 |
PAM \ |
| 162 |
PF \ |
| 163 |
PKGBOOTSTRAP \ |
| 164 |
PMC \ |
| 165 |
PORTSNAP \ |
| 166 |
PPP \ |
| 167 |
QUOTAS \ |
| 168 |
RADIUS_SUPPORT \ |
| 169 |
RBOOTD \ |
| 170 |
RESCUE \ |
| 171 |
ROUTED \ |
| 172 |
SENDMAIL \ |
| 173 |
SERVICESDB \ |
| 174 |
SETUID_LOGIN \ |
| 175 |
SHARED_TOOLCHAIN \ |
| 176 |
SHAREDOCS \ |
| 177 |
SOURCELESS \ |
| 178 |
SOURCELESS_HOST \ |
| 179 |
SOURCELESS_UCODE \ |
| 180 |
STATS \ |
| 181 |
SVNLITE \ |
| 182 |
SYSCONS \ |
| 183 |
SYSTEM_COMPILER \ |
| 184 |
SYSTEM_LINKER \ |
| 185 |
TALK \ |
| 186 |
TCP_WRAPPERS \ |
| 187 |
TCSH \ |
| 188 |
TELNET \ |
| 189 |
TEXTPROC \ |
| 190 |
TFTP \ |
| 191 |
UNBOUND \ |
| 192 |
USB \ |
| 193 |
UTMPX \ |
| 194 |
VI \ |
| 195 |
VT \ |
| 196 |
WIRELESS \ |
| 197 |
WPA_SUPPLICANT_EAPOL \ |
| 198 |
ZFS \ |
| 199 |
LOADER_ZFS \ |
| 200 |
ZONEINFO |
| 201 |
|
| 202 |
__DEFAULT_NO_OPTIONS = \ |
| 203 |
BEARSSL \ |
| 204 |
BHYVE_SNAPSHOT \ |
| 205 |
CLANG_EXTRAS \ |
| 206 |
CLANG_FORMAT \ |
| 207 |
DTRACE_TESTS \ |
| 208 |
EXPERIMENTAL \ |
| 209 |
GNU_GREP \ |
| 210 |
HESIOD \ |
| 211 |
LIBSOFT \ |
| 212 |
LOADER_FIREWIRE \ |
| 213 |
LOADER_VERBOSE \ |
| 214 |
LOADER_VERIEXEC_PASS_MANIFEST \ |
| 215 |
MALLOC_PRODUCTION \ |
| 216 |
OFED_EXTRA \ |
| 217 |
OPENLDAP \ |
| 218 |
REPRODUCIBLE_BUILD \ |
| 219 |
RPCBIND_WARMSTART_SUPPORT \ |
| 220 |
SORT_THREADS \ |
| 221 |
SVN \ |
| 222 |
ZONEINFO_LEAPSECONDS_SUPPORT \ |
| 223 |
|
| 224 |
# LEFT/RIGHT. Left options which default to "yes" unless their corresponding |
| 225 |
# RIGHT option is disabled. |
| 226 |
__DEFAULT_DEPENDENT_OPTIONS= \ |
| 227 |
CLANG_FULL/CLANG \ |
| 228 |
LOADER_VERIEXEC/BEARSSL \ |
| 229 |
LOADER_EFI_SECUREBOOT/LOADER_VERIEXEC \ |
| 230 |
LOADER_VERIEXEC_VECTX/LOADER_VERIEXEC \ |
| 231 |
VERIEXEC/BEARSSL \ |
| 232 |
|
| 233 |
# MK_*_SUPPORT options which default to "yes" unless their corresponding |
| 234 |
# MK_* variable is set to "no". |
| 235 |
# |
| 236 |
.for var in \ |
| 237 |
BLACKLIST \ |
| 238 |
BZIP2 \ |
| 239 |
INET \ |
| 240 |
INET6 \ |
| 241 |
KERBEROS \ |
| 242 |
KVM \ |
| 243 |
NETGRAPH \ |
| 244 |
PAM \ |
| 245 |
TESTS \ |
| 246 |
WIRELESS |
| 247 |
__DEFAULT_DEPENDENT_OPTIONS+= ${var}_SUPPORT/${var} |
| 248 |
.endfor |
| 249 |
|
| 250 |
# |
| 251 |
# Default behaviour of some options depends on the architecture. Unfortunately |
| 252 |
# this means that we have to test TARGET_ARCH (the buildworld case) as well |
| 253 |
# as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not |
| 254 |
# used at all in bsd.*.mk, but we have to make an exception here if we want |
| 255 |
# to allow defaults for some things like clang to vary by target architecture. |
| 256 |
# Additional, per-target behavior should be rarely added only after much |
| 257 |
# gnashing of teeth and grinding of gears. |
| 258 |
# |
| 259 |
.if defined(TARGET_ARCH) |
| 260 |
__T=${TARGET_ARCH} |
| 261 |
.else |
| 262 |
__T=${MACHINE_ARCH} |
| 263 |
.endif |
| 264 |
|
| 265 |
# All supported backends for LLVM_TARGET_XXX |
| 266 |
__LLVM_TARGETS= \ |
| 267 |
aarch64 \ |
| 268 |
arm \ |
| 269 |
mips \ |
| 270 |
powerpc \ |
| 271 |
riscv \ |
| 272 |
x86 |
| 273 |
__LLVM_TARGET_FILT= C/(amd64|i386)/x86/:C/powerpc.*/powerpc/:C/armv[67]/arm/:C/riscv.*/riscv/:C/mips.*/mips/ |
| 274 |
.for __llt in ${__LLVM_TARGETS} |
| 275 |
# Default enable the given TARGET's LLVM_TARGET support |
| 276 |
.if ${__T:${__LLVM_TARGET_FILT}} == ${__llt} |
| 277 |
__DEFAULT_YES_OPTIONS+= LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu} |
| 278 |
# aarch64 needs arm for -m32 support. |
| 279 |
.elif ${__T} == "aarch64" && ${__llt:Marm*} != "" |
| 280 |
__DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_ARM/LLVM_TARGET_AARCH64 |
| 281 |
# Default the rest of the LLVM_TARGETs to the value of MK_LLVM_TARGET_ALL. |
| 282 |
.else |
| 283 |
__DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu}/LLVM_TARGET_ALL |
| 284 |
.endif |
| 285 |
.endfor |
| 286 |
|
| 287 |
__DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF |
| 288 |
|
| 289 |
.include <bsd.compiler.mk> |
| 290 |
|
| 291 |
.if ${__T:Mriscv*} != "" |
| 292 |
BROKEN_OPTIONS+=OFED |
| 293 |
.endif |
| 294 |
.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386" |
| 295 |
__DEFAULT_YES_OPTIONS+=LLDB |
| 296 |
.else |
| 297 |
__DEFAULT_NO_OPTIONS+=LLDB |
| 298 |
.endif |
| 299 |
# LIB32 is supported on amd64, mips64, and powerpc64 |
| 300 |
.if (${__T} == "amd64" || ${__T:Mmips64*} || ${__T} == "powerpc64") |
| 301 |
__DEFAULT_YES_OPTIONS+=LIB32 |
| 302 |
.else |
| 303 |
BROKEN_OPTIONS+=LIB32 |
| 304 |
.endif |
| 305 |
# Only doing soft float API stuff on armv6 and armv7 |
| 306 |
.if ${__T} != "armv6" && ${__T} != "armv7" |
| 307 |
BROKEN_OPTIONS+=LIBSOFT |
| 308 |
.endif |
| 309 |
.if ${__T:Mmips*} |
| 310 |
# GOOGLETEST cannot currently be compiled on mips due to external circumstances. |
| 311 |
# Notably, the freebsd-gcc port isn't linking in libgcc so we end up trying ot |
| 312 |
# link to a hidden symbol. LLVM would successfully link this in, but some of |
| 313 |
# the mips variants are broken under LLVM until LLVM 10. GOOGLETEST should be |
| 314 |
# marked no longer broken with the switch to LLVM. |
| 315 |
BROKEN_OPTIONS+=GOOGLETEST SSP |
| 316 |
.endif |
| 317 |
# EFI doesn't exist on mips or powerpc. |
| 318 |
.if ${__T:Mmips*} || ${__T:Mpowerpc*} |
| 319 |
BROKEN_OPTIONS+=EFI |
| 320 |
.endif |
| 321 |
# OFW is only for powerpc, exclude others |
| 322 |
.if ${__T:Mpowerpc*} == "" |
| 323 |
BROKEN_OPTIONS+=LOADER_OFW |
| 324 |
.endif |
| 325 |
# UBOOT is only for arm, mips and powerpc, exclude others |
| 326 |
.if ${__T:Marm*} == "" && ${__T:Mmips*} == "" && ${__T:Mpowerpc*} == "" |
| 327 |
BROKEN_OPTIONS+=LOADER_UBOOT |
| 328 |
.endif |
| 329 |
# GELI and Lua in loader currently cause boot failures on powerpc. |
| 330 |
# Further debugging is required -- probably they are just broken on big |
| 331 |
# endian systems generically (they jump to null pointers or try to read |
| 332 |
# crazy high addresses, which is typical of endianness problems). |
| 333 |
.if ${__T:Mpowerpc*} |
| 334 |
BROKEN_OPTIONS+=LOADER_GELI LOADER_LUA |
| 335 |
.endif |
| 336 |
|
| 337 |
.if ${__T:Mmips64*} |
| 338 |
# profiling won't work on MIPS64 because there is only assembly for o32 |
| 339 |
BROKEN_OPTIONS+=PROFILE |
| 340 |
.endif |
| 341 |
.if ${__T} != "aarch64" && ${__T} != "amd64" && ${__T} != "i386" && \ |
| 342 |
${__T} != "powerpc64" |
| 343 |
BROKEN_OPTIONS+=CXGBETOOL |
| 344 |
BROKEN_OPTIONS+=MLX5TOOL |
| 345 |
.endif |
| 346 |
|
| 347 |
# HyperV is currently x86-only |
| 348 |
.if ${__T} != "amd64" && ${__T} != "i386" |
| 349 |
BROKEN_OPTIONS+=HYPERV |
| 350 |
.endif |
| 351 |
|
| 352 |
# NVME is only aarch64, x86 and powerpc64* |
| 353 |
.if ${__T} != "aarch64" && ${__T} != "amd64" && ${__T} != "i386" && \ |
| 354 |
${__T:Mpowerpc64*} == "" |
| 355 |
BROKEN_OPTIONS+=NVME |
| 356 |
.endif |
| 357 |
|
| 358 |
.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386" || \ |
| 359 |
${__T:Mpowerpc64*} != "" |
| 360 |
__DEFAULT_YES_OPTIONS+=OPENMP |
| 361 |
.else |
| 362 |
__DEFAULT_NO_OPTIONS+=OPENMP |
| 363 |
.endif |
| 364 |
|
| 365 |
.if ${.MAKE.OS} != "FreeBSD" |
| 366 |
# Building the target compiler requires building tablegen on the host |
| 367 |
# which is (currently) not possible on non-FreeBSD. |
| 368 |
BROKEN_OPTIONS+=CLANG LLD LLDB |
| 369 |
# The same also applies to the bootstrap LLVM. |
| 370 |
BROKEN_OPTIONS+=CLANG_BOOTSTRAP LLD_BOOTSTRAP |
| 371 |
.endif |
| 372 |
|
| 373 |
.include <bsd.mkopt.mk> |
| 374 |
|
| 375 |
# |
| 376 |
# Force some options off if their dependencies are off. |
| 377 |
# Order is somewhat important. |
| 378 |
# |
| 379 |
.if ${MK_CAPSICUM} == "no" |
| 380 |
MK_CASPER:= no |
| 381 |
.endif |
| 382 |
|
| 383 |
.if ${MK_LIBPTHREAD} == "no" |
| 384 |
MK_LIBTHR:= no |
| 385 |
.endif |
| 386 |
|
| 387 |
.if ${MK_SOURCELESS} == "no" |
| 388 |
MK_SOURCELESS_HOST:= no |
| 389 |
MK_SOURCELESS_UCODE:= no |
| 390 |
.endif |
| 391 |
|
| 392 |
.if ${MK_CDDL} == "no" |
| 393 |
MK_ZFS:= no |
| 394 |
MK_LOADER_ZFS:= no |
| 395 |
MK_CTF:= no |
| 396 |
.endif |
| 397 |
|
| 398 |
.if ${MK_CRYPT} == "no" |
| 399 |
MK_OPENSSL:= no |
| 400 |
MK_OPENSSH:= no |
| 401 |
MK_KERBEROS:= no |
| 402 |
MK_KERBEROS_SUPPORT:= no |
| 403 |
.endif |
| 404 |
|
| 405 |
.if ${MK_CXX} == "no" |
| 406 |
MK_CLANG:= no |
| 407 |
MK_GOOGLETEST:= no |
| 408 |
MK_TESTS:= no |
| 409 |
.endif |
| 410 |
|
| 411 |
.if ${MK_DIALOG} == "no" |
| 412 |
MK_BSDINSTALL:= no |
| 413 |
.endif |
| 414 |
|
| 415 |
.if ${MK_FILE} == "no" |
| 416 |
MK_SVNLITE:= no |
| 417 |
.endif |
| 418 |
|
| 419 |
.if ${MK_MAIL} == "no" |
| 420 |
MK_MAILWRAPPER:= no |
| 421 |
MK_SENDMAIL:= no |
| 422 |
MK_DMAGENT:= no |
| 423 |
.endif |
| 424 |
|
| 425 |
.if ${MK_NETGRAPH} == "no" |
| 426 |
MK_ATM:= no |
| 427 |
MK_BLUETOOTH:= no |
| 428 |
.endif |
| 429 |
|
| 430 |
.if ${MK_NLS} == "no" |
| 431 |
MK_NLS_CATALOGS:= no |
| 432 |
.endif |
| 433 |
|
| 434 |
.if ${MK_OPENSSL} == "no" |
| 435 |
MK_DMAGENT:= no |
| 436 |
MK_OPENSSH:= no |
| 437 |
MK_KERBEROS:= no |
| 438 |
MK_KERBEROS_SUPPORT:= no |
| 439 |
MK_LDNS:= no |
| 440 |
MK_PKGBOOTSTRAP:= no |
| 441 |
MK_SVN:= no |
| 442 |
MK_SVNLITE:= no |
| 443 |
MK_WIRELESS:= no |
| 444 |
.endif |
| 445 |
|
| 446 |
.if ${MK_LDNS} == "no" |
| 447 |
MK_LDNS_UTILS:= no |
| 448 |
MK_UNBOUND:= no |
| 449 |
.endif |
| 450 |
|
| 451 |
.if ${MK_PF} == "no" |
| 452 |
MK_AUTHPF:= no |
| 453 |
.endif |
| 454 |
|
| 455 |
.if ${MK_OFED} == "no" |
| 456 |
MK_OFED_EXTRA:= no |
| 457 |
.endif |
| 458 |
|
| 459 |
.if ${MK_TESTS} == "no" |
| 460 |
MK_DTRACE_TESTS:= no |
| 461 |
.endif |
| 462 |
|
| 463 |
.if ${MK_TESTS_SUPPORT} == "no" |
| 464 |
MK_GOOGLETEST:= no |
| 465 |
.endif |
| 466 |
|
| 467 |
.if ${MK_ZONEINFO} == "no" |
| 468 |
MK_ZONEINFO_LEAPSECONDS_SUPPORT:= no |
| 469 |
.endif |
| 470 |
|
| 471 |
.if ${MK_CROSS_COMPILER} == "no" |
| 472 |
MK_CLANG_BOOTSTRAP:= no |
| 473 |
MK_ELFTOOLCHAIN_BOOTSTRAP:= no |
| 474 |
MK_LLD_BOOTSTRAP:= no |
| 475 |
.endif |
| 476 |
|
| 477 |
.if ${MK_TOOLCHAIN} == "no" |
| 478 |
MK_CLANG:= no |
| 479 |
MK_INCLUDES:= no |
| 480 |
MK_LLD:= no |
| 481 |
MK_LLDB:= no |
| 482 |
.endif |
| 483 |
|
| 484 |
.if ${MK_CLANG} == "no" |
| 485 |
MK_CLANG_EXTRAS:= no |
| 486 |
MK_CLANG_FORMAT:= no |
| 487 |
MK_CLANG_FULL:= no |
| 488 |
MK_LLVM_COV:= no |
| 489 |
.endif |
| 490 |
|
| 491 |
.if ${MK_LOADER_VERIEXEC} == "no" |
| 492 |
MK_LOADER_VERIEXEC_PASS_MANIFEST := no |
| 493 |
.endif |
| 494 |
|
| 495 |
# |
| 496 |
# MK_* options whose default value depends on another option. |
| 497 |
# |
| 498 |
.for vv in \ |
| 499 |
GSSAPI/KERBEROS \ |
| 500 |
MAN_UTILS/MAN |
| 501 |
.if defined(WITH_${vv:H}) |
| 502 |
MK_${vv:H}:= yes |
| 503 |
.elif defined(WITHOUT_${vv:H}) |
| 504 |
MK_${vv:H}:= no |
| 505 |
.else |
| 506 |
MK_${vv:H}:= ${MK_${vv:T}} |
| 507 |
.endif |
| 508 |
.endfor |
| 509 |
|
| 510 |
# |
| 511 |
# Set defaults for the MK_*_SUPPORT variables. |
| 512 |
# |
| 513 |
|
| 514 |
.endif # !target(__<src.opts.mk>__) |