www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Re: Build a D project is now easy

reply Kagamin <spam here.lot> writes:
Leandro Lucarella Wrote:

 Make is not a build system, make is a unix tool, it does one thing and
 it do it well, and that thing is rebuilding something based on
 dependencies.

Being a unix tool means it works only on unix? If it rebuilds something, why it's not a build system?
Nov 28 2010
parent reply Leandro Lucarella <luca llucax.com.ar> writes:
Kagamin, el 28 de noviembre a las 11:34 me escribiste:
 Leandro Lucarella Wrote:
 
 Make is not a build system, make is a unix tool, it does one thing and
 it do it well, and that thing is rebuilding something based on
 dependencies.

Being a unix tool means it works only on unix?

I said it in the sense of the "unix philosophy"[1].
 If it rebuilds something, why it's not a build system?

Call it whatever you want. What I meant is that it doesn't suppose to do everything one could ask for a "build system" nowdays, like automatic dependency handling, automatic installation, configuration, etc. To have all those things, you have to combine it with other tools (again "unix philosophy"). If you expect make to do all that you will be disappointed, but is not Make fault, it wasn't designed for that. Make "just" track dependencies specified by the user and build targets based on that (possible spawning several process to do it concurrently). That's why I say Make is like an C/ASM for "build systems". [1] http://en.wikipedia.org/wiki/Unix_philosophy -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- DESCARRILĂ“ EL GUSANO LOCO Y QUEDARON CHICOS ATRAPADOS -- Diario La Capital
Nov 28 2010
parent Kagamin <spam here.lot> writes:
Leandro Lucarella Wrote:

 Being a unix tool means it works only on unix?

I said it in the sense of the "unix philosophy"[1].

Does it work on windows? And does it work there well?
 If it rebuilds something, why it's not a build system?

Call it whatever you want. What I meant is that it doesn't suppose to do everything one could ask for a "build system" nowdays, like automatic dependency handling, automatic installation, configuration, etc.

Explicit dependency handling is ok, but it doesn't work: dir/a.o: a.c dir move a.o dir/ dir: mkdir dir What to do? Do you call this "works well"?
Nov 29 2010