> 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