tech-toolchain archive

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

Re: make cleaning the environment for children

On Sat, 14 Nov 2009, Simon J. Gerraty wrote:
> The alternative would be a new keyword - .unexport ?
> A bare .unexport: could mean - clean the environment while
> .unexport: FOO
> just removes FOO.
> As opposed to
> .export: =
> .export: - FOO

I prefer .unexport:.

> Originally I did the clearing of .MAKE.EXPORTED implicitly, but then
> figured keeping them separate operations allows more flexibility.

Since .export is equivalent to appending to ${.MAKE.EXPORTED},
I think .unexport should be equivalent to removing a word from
${.MAKE.EXPORTED}.  In other words, I think cleaning .MAKE.EXPORTED
implicitly it the right thing to do, for symmetry with .export.

> Ie. one way or another I wanted a syntax that can be used to clear the
> inherited environment, and frobbing .MAKE.EXPORTED won't achieve that.

No, but .undef could do that; so .undef to remove a variable from
the current make(1) process's environment, and .unexport to remove
a variable from the list of things to be exported to children.

--apb (Alan Barrett)

Home | Main Index | Thread Index | Old Index