On Mon, Jan 17, 2011 at 3:33 PM, Ciprian Dorin Craciun <ciprian.craciun@gmail.com> wrote:
On Mon, Jan 17, 2011 at 17:00, Robert Raschke <rtrlists@googlemail.com> wrote:
> Your email also doesn't explain why you cannot generate a "normal"
> mk file.

   I'm afraid I don't understand the question. What do you mean by
"generating a normal mk file"?
   A) Do you mean why am I using a generator that writes the `mk`
script instead of writing the `mk` script myself by hand? The answer
to this is complexity: writing `mk` is Ok when you have a simple
application to build, but as the application grows larger so does the
make script. (And using meta rules is not always possible.)
   B) Why isn't the output script a "normal" `mk` script? Actually is
a very simple script (no meta-rules, no shell expansion, etc.). It's
just big. :)


Sorry, I meant an idiomatic mk file, in the sense as they are used within the Plan 9 distribution. Have a look at "Plan 9 Mkfiles" (http://www.cs.bell-labs.com/sys/doc/mkfiles.html) and "Maintaining Files on Plan 9 with Mk" (http://www.cs.bell-labs.com/sys/doc/mk.html), if you haven't already done so.

I think by listing all your dependencies one by one, step by step, you are bypassing a lot of the strengths of a make system. I would expect your generator to produce a mk include file with the meta rules plus the mk file itself which lists file dependencies in a concise manner.

Robby