615a1e70b0
This can be disabled by putting WITHOUT_AUTO_OBJ=yes in /etc/src-env.conf, not /etc/src.conf, or passing it in the environment. The purpose of this rather than simply flipping the default of AUTO_OBJ to yes is to avoid hassling users with auto.obj.mk failures if the wanted OBJDIR is not writable. It will fallback to writing to the source directory like it does today if MAKEOBJDIRPREFIX is not writable. The act of enabling MK_AUTO_OBJ disables all 'make obj' treewalks since previous work has made those not run if MK_AUTO_OBJ==yes in Makefile.inc1. Relnotes: yes Reviewed by: sjg Discussed at: https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017805.html Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12841
40 lines
1.4 KiB
Makefile
40 lines
1.4 KiB
Makefile
# $FreeBSD$
|
|
|
|
# Note: This file is also duplicated in the sys/conf/kern.pre.mk so
|
|
# it will always grab SRCCONF, even if it isn't being built in-tree
|
|
# to preserve historical (and useful) behavior. Changes here need to
|
|
# be reflected there so SRCCONF isn't included multiple times.
|
|
|
|
.if !defined(_WITHOUT_SRCCONF)
|
|
# Allow user to configure things that only effect src tree builds.
|
|
SRCCONF?= /etc/src.conf
|
|
.if !empty(SRCCONF) && \
|
|
(exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf") && \
|
|
!target(_srcconf_included_)
|
|
|
|
# Validate that the user didn't try setting an env-only variable in
|
|
# their src.conf. This benefits from already including bsd.mkopt.mk.
|
|
.for var in ${__ENV_ONLY_OPTIONS:O:u}
|
|
__presrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}:Uno:Dyes}${WITH_${var}:Uno:Dyes}
|
|
.endfor
|
|
|
|
.sinclude "${SRCCONF}"
|
|
_srcconf_included_: .NOTMAIN
|
|
|
|
# Validate the env-only variables.
|
|
.for var in ${__ENV_ONLY_OPTIONS:O:u}
|
|
__postrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}:Uno:Dyes}${WITH_${var}:Uno:Dyes}
|
|
.if ${__presrcconf_${var}} != ${__postrcconf_${var}}
|
|
.error Option ${var} may only be defined in ${SRC_ENV_CONF}, environment, or make argument, not ${SRCCONF}.
|
|
.endif
|
|
.undef __presrcconf_${var}
|
|
.undef __postrcconf_${var}
|
|
.endfor
|
|
|
|
.endif # SRCCONF
|
|
.endif
|
|
|
|
# tempting, but bsd.compiler.mk causes problems this early
|
|
# probably need to remove dependence on bsd.own.mk
|
|
#.include "src.opts.mk"
|