Index: en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml =================================================================== --- en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml +++ en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml @@ -4496,6 +4496,110 @@ + + <varname><replaceable>OPT</replaceable>_VARS</varname> + + Provides a generic way to set and append to variables. + Check in this chapter that there is not already an existing + helper available before using this. + + When option OPT is selected, + and OPT_VARS + is defined, for each + key=value + pair of + OPT_VARS, + KEY is set to + value. For + each + key+=value + pair of + OPT_VARS, + value is + appended to + KEY. + example: + + OPTIONS_DEFINE= OPT1 OPT2 OPT3 +OPT1_VARS= also_build+=opt1 +OPT2_VARS= also_build+=opt2 +OPT3_VARS= opt3_build=yes + +MAKE_ARGS= ALSO_BUILD="${ALSO_BUILD}" OPT3_BUILD="${OPT3_BUILD}" + + is equivalent to: + + OPTIONS_DEFINE= OPT1 OPT2 + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MOPT1} +ALSO_BUILD+= opt1 +.endif + +.if ${PORT_OPTIONS:MOPT2} +ALSO_BUILD+= opt2 +.endif + +.if ${PORT_OPTIONS:MOPT2} +OPT3_BUILD= yes +.endif + +MAKE_ARGS= ALSO_BUILD="${ALSO_BUILD}" OPT3_BUILD="${OPT3_BUILD}" + + + + <varname><replaceable>OPT</replaceable>_VARS_OFF</varname> + + Provides a generic way to set and append to variables. + Check in this chapter that there is not already an existing + helper available before using this. + + When option OPT is not selected, + and OPT_VARS_OFF + is defined, for each + key=value + pair of + OPT_VARS_OFF, + KEY is set to + value. For + each + key+=value + pair of + OPT_VARS_OFF, + value is + appended to + KEY. + example: + + OPTIONS_DEFINE= OPT1 OPT2 OPT3 +OPT1_VARS_OFF= no_build+=opt1 +OPT2_VARS_OFF= no_build+=opt2 +OPT3_VARS_OFF= opt3_build=no + +MAKE_ARGS= NO_BUILD="${NO_BUILD}" OPT3_BUILD="${OPT3_BUILD}" + + is equivalent to: + + OPTIONS_DEFINE= OPT1 OPT2 + +.include <bsd.port.options.mk> + +.if ! ${PORT_OPTIONS:MOPT1} +NO_BUILD+= opt1 +.endif + +.if ! ${PORT_OPTIONS:MOPT2} +NO_BUILD+= opt2 +.endif + +.if ! ${PORT_OPTIONS:MOPT2} +OPT3_BUILD= yes +.endif + +MAKE_ARGS= NO_BUILD="${NO_BUILD}" OPT3_BUILD="${OPT3_BUILD}" + + Dependencies