NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bmake variable expansion: ${X:ts:}



On Tue, 5 Jul 2022, Brook Milligan wrote:

On Jul 5, 2022, at 5:22 PM, RVP <rvp%SDF.ORG@localhost> 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


Home | Main Index | Thread Index | Old Index