On Tue, 5 Jul 2022, Brook Milligan wrote:

On Jul 5, 2022, at 5:22 PM, RVP <[email protected]> wrote:

On Tue, 5 Jul 2022, Brook Milligan wrote:

I think you are saying that the “word separator” (i.e., defined by :ts) does 
not “break” words.


It will if the separator char. is a white-space. I don't think any other
char. will cause splitting. Ie. OFS != FS.

OK, I suppose that makes sense, although OFS and FS are awk terms not 
referenced in bmake(1).


The awk analogy was the first one came to mind :)

If that distinction holds, though, is :ts used for accessing fields within the 
value of a variable via :range, :@@@, :[], etc., but not to change the 
expansion?  If so, I think I am finally understanding a bit.


Don't quite see how that would work (unless you replace the space with a
tab (:ts\t), or use :S/XXX/ /). It's usually used to construct PATHs, or
other vars:

LDORDER_LIBS_FILTER += O:u
LDORDER_LIBS ?= ${DPLIBS} ${DPADD:M*/lib*} ${__dpadd_libs}
_LDORDER_LIBS := ${LDORDER_LIBS:${LDORDER_LIBS_FILTER:ts:}}

SHLIB_FULLVERSION ?= ${${SHLIB_MAJOR} ${SHLIB_MINOR} ${SHLIB_TEENY}:L:ts.}

DIRDEPS_BUILD_LEVEL0_TARGETS += clean* destroy*
M_ListToSkip?= O:u:S,^,N,:ts:
.if ${.TARGETS:Uall:${DIRDEPS_BUILD_LEVEL0_TARGETS:${M_ListToSkip}}} != ""

-RVP

Reply via email to