> On Dec 23, 2024, at 7:56 PM, Britton Leo Kerin <britton.ke...@gmail.com> 
> wrote:
> 
> Another crack at per-target .ONESHELL.
> 
> The major problem with v3 was that the shared struct commands for
> implicit rules, .DEFAULT rules suffix rules etc. caused use of .ONESHELL
> with any target covered by such a rules to "infect" other targets
> sharing the recipe (but not themselves named as .ONESHELL prerequisites)
> with oneshell-ness.  That isn't how other special targets work wrt
> their dependencies and would obviously be a bug.
> 
> The current version here "fixes" this by adding oneshell_* versions of
> some struct commands fields and using them as appropriate.  I added a
> bunch of tests to ensure I'd found all the sharing and handled it
> correctly.

I didn't look at the proposed code changes, but this *behavior* seems exactly 
correct.
".ONESHELL", applied to a specific target, should *only* apply to that target 
and
not to anything else it calls. It's only a property of that specific target.

Thanks!

--- David A. Wheeler


Reply via email to