16b14aaa4SWarner Losh# $FreeBSD$ 26b14aaa4SWarner Losh 31f4e0ed9SWarner Losh# Note: This file is also duplicated in the sys/conf/kern.pre.mk so 41f4e0ed9SWarner Losh# it will always grab SRCCONF, even if it isn't being built in-tree 51f4e0ed9SWarner Losh# to preserve historical (and useful) behavior. Changes here need to 61f4e0ed9SWarner Losh# be reflected there so SRCCONF isn't included multiple times. 71f4e0ed9SWarner Losh 8945ceaafSBryan Drewery.if !defined(_WITHOUT_SRCCONF) 96b14aaa4SWarner Losh# Allow user to configure things that only effect src tree builds. 106b14aaa4SWarner LoshSRCCONF?= /etc/src.conf 11*f19c33eeSBryan Drewery.if !empty(SRCCONF) && \ 12*f19c33eeSBryan Drewery (exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf") && \ 13*f19c33eeSBryan Drewery !target(_srcconf_included_) 14cc922274SBryan Drewery 15cc922274SBryan Drewery# Validate that the user didn't try setting an env-only variable in 16cc922274SBryan Drewery# their src.conf. This benefits from already including bsd.mkopt.mk. 17cc922274SBryan Drewery.for var in ${__ENV_ONLY_OPTIONS} 18cc922274SBryan Drewery__presrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}:Uno:Dyes}${WITH_${var}:Uno:Dyes} 19cc922274SBryan Drewery.endfor 20cc922274SBryan Drewery 21883e6bfbSSimon J. Gerraty.sinclude "${SRCCONF}" 22faa8fa90SSimon J. Gerraty_srcconf_included_: .NOTMAIN 23cc922274SBryan Drewery 24cc922274SBryan Drewery# Validate the env-only variables. 25cc922274SBryan Drewery.for var in ${__ENV_ONLY_OPTIONS} 26cc922274SBryan Drewery__postrcconf_${var}:= ${MK_${var}:U-}${WITHOUT_${var}:Uno:Dyes}${WITH_${var}:Uno:Dyes} 27cc922274SBryan Drewery.if ${__presrcconf_${var}} != ${__postrcconf_${var}} 28cc922274SBryan Drewery.error Option ${var} may only be defined in ${SRC_ENV_CONF}, environment, or make argument, not ${SRCCONF}. 296b14aaa4SWarner Losh.endif 30cc922274SBryan Drewery.undef __presrcconf_${var} 31cc922274SBryan Drewery.undef __postrcconf_${var} 32cc922274SBryan Drewery.endfor 33cc922274SBryan Drewery 34cc922274SBryan Drewery.endif # SRCCONF 35945ceaafSBryan Drewery.endif 36daf514d0SSimon J. Gerraty 37ccfb9654SSimon J. Gerraty# tempting, but bsd.compiler.mk causes problems this early 38daf514d0SSimon J. Gerraty# probably need to remove dependence on bsd.own.mk 39ccfb9654SSimon J. Gerraty#.include "src.opts.mk" 40