From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: Date: Mon, 17 Jan 2011 15:53:42 +0000 Message-ID: From: Robert Raschke To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=00221532c7acc2fa12049a0cc91d Subject: Re: [9fans] `mk` (from Plan9 ports) efficiency related issue Topicbox-Message-UUID: 9d2708a4-ead6-11e9-9d60-3106f5b1d025 --00221532c7acc2fa12049a0cc91d Content-Type: text/plain; charset=UTF-8 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 > 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 --00221532c7acc2fa12049a0cc91d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Mon, Jan 17, 2011 at 3:33 PM, Ciprian Dor= in Craciun <ciprian.craciun@gmail.com> wrote:
On Mon, Jan 17, 2011 at 17:00, Robert Raschke <rtrlists@googlemail.com> wrote:<= br> > Your email also doesn't explain why you cannot generate a "no= rmal"
> mk file.

=C2=A0 =C2=A0I'm afraid I don't understand the question. Wha= t do you mean by
"generating a normal mk file"?
=C2=A0 =C2=A0A) 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.)
=C2=A0 =C2=A0B) 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 idiomat= ic mk file, in the sense as they are used within the Plan 9 distribution. H= ave a look at "Plan 9 Mkfiles" (http://www.cs.bell-labs.com/sys/doc/mkfiles.htm= l) and "Maintaining Files on Plan 9 with Mk" (http://www.cs.bell-labs.com/sys/do= c/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

--00221532c7acc2fa12049a0cc91d--