On Nov 20, 2007, at 4:01 PM, Bakul Shah wrote:
Don't laugh but I am trying to use identical mkfiles on FreeBSD & plan9 for some programs and it seems this is impossible.Consider a simple mkfile like this: all: for (i in a b c) echo $i 9 mk fails with Syntax error: Bad for loop variable mk: ... : exit status=exit(2) On rereading the p9p mk man page I discover MKSHELL. So next I add MKSHELL=... line at top of the above mkfile and now it works. Since I want most mkfiles to be portable, I add this line in a mkfile included with < but it uses its own copy of MKSHELL. So then I tried MKSHELL=$PLAN9/bin/rc 9 mk but that doesn't help either. Change mkfile to this now MKSHELL=$PLAN9/bin/rc FOO=fum all: for (i in a b c) echo $i $MKSHELL $FOO But echo shows "a sh fum" etc. which is rather surprising. Rather than try this hard to please sh users, would it make sense to just use rc? After all this is *plan9* mk! To be nice mk can pay attention to MKSHELL env. variable but that's about it. Even as a non-unix-hater I'd be perfectly happy with that! -- bakul
/sys/doc/mk.ps: read section 5 on variables. It might help :-)
