> That's not what I meant.  I meant that if you have
> complicated things like loops then you can put those
> recipes all in one file (that also contains MKSHELL=rc)
> and just include it.  Essentially all the Plan 9 mkfiles
> set HFILES, OFILES, TARG, and then include mkone,
> mkmany, and mksyslib.  Only those would possibly
> need to declare a MKSHELL.

Thanks for the clarification.  Yes that works for things like
running mk in subdir etc. but will require better abstraction
when one has code like

        for (a in ...)
                if (<some condition>)
                        ...

> P. S.  I realize it's suboptimal to have to set MKSHELL in each mkfile
> that uses rc-specific features, but it's the only way that scales.

To me what is suboptimal is that the default shell is
*different* on plan9 mk and p9p mk.  If ever p9p is ported to
Windows will you make cmd.com the default shell?  It
certainly does not have as much of a compatible subset with
rc as /bin/sh does.  The patch I supplied keeps mk behavior
exactly the same as now *unless* you set an env variable.
But I suspect we won't agree on this point!

Reply via email to