I thank JBQ for addressing my question. It is phrased as an objection to my
proposal but I find that it is really in support because it allows me to
point out that what I am asking for is perfectly normal and possible.

JBQ wrote:
"There are three main parts to a build system: figuring out what the
possible commands are, figuring out which of those commands need to run and
in which order, and actually running them.

"While a shell script would conceivably be able to express the first one,
it would struggle with some of the the second part (especially around
incremental builds), and a readable implementation of the third part would
likely be sequential, resulting in impractically long build times."

I think there are two main parts because the first part is specified by the
programmer, the one who sets up the build.  In 'make' that is called the
recipes.
For the programmer who is using that build system, it can be beneficial to
run the next two parts separately because this gives visibility and
accessibility when things go wrong or to do something a little different to
what the original programmer might have thought of (including transferring
to a different build system).
make can do the second part separately with the -n option. It produces a
script, which can be executed, thereby doing the third part separately and
allowing any amount of intervention between parts two and three.

It is quite true that the script is just a sequence of commands and does
not reflect make's option (-j) to execute commands in parallel processes. I
would class it is an interesting question whether you could retain
parallelism somehow while going through a script as an intermediate step. I
would not think of it as such an obstacle to give up the script option
entirely.

If a script is too much to expect then at least a transcript of the
commands that the build system executes would be almost as good if these
could be captured and turned into a script.

Android not so long ago would have used make. Whatever benefits were gained
by going to a new and seemingly complex system, did they really require
throwing away these beneficial features of make that give a programmer a
way to take control of the build process?


>
>> --
> --
>
>

-- 
-- 
You received this message because you are subscribed to the "Android Building" 
mailing list.
To post to this group, send email to android-building@googlegroups.com
To unsubscribe from this group, send email to
android-building+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-building+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to