[illumos-Developer] illumos make

Joerg Schilling Joerg.Schilling at fokus.fraunhofer.de
Wed Nov 17 03:25:16 PST 2010


Alexander Eremin <alexander.r.eremin at gmail.com> wrote:

> Hi all,
> I back to the question of whether there should be Illumos get its own Make.
> It's well known that Sun's Make can't read the GNU Makefiles but
> it's suitable for building NIS maps, etc.
> Here for example another differences between Dmake and Gmake:
> http://www.opensolaris.org/jive/message.jspa?messageID=33951#33951
> FreeBSD has its own Make in base, why not Illumos?

Background information: There are nearly 7000 Makefiles in ONNV and rewriting 
them as a result from chosing a different make will take more than a year.

In addition, GNUmake is problematic as it has many deviatons from the POSIX 
standard and the maintenance is not sufficient (bug reports take forever to get 
a fix). The internal code structure makes it hard to maintain the code.

GNUmake also only has a very basic support for parallel execution, the output 
from parallel command is mixed, making it hard to read and understand the 
messages. 

FreeBSD uses a make that was derived from the UNIX make but it has some serious
deviations that are probably not going to be removed as they fear that it could 
affect the compilation os FreeBSD.

Sun make was originally based on UNIX make when it has been written in 1986. It 
added a lot of features that partially made it into other implementations (e.g. 
GNU make). There are still unique features that are used in ONNV.

As mentioned before, my smake is close enough to the complete set of features 
in Sun's make. It is highly portable and correctly runs on many more platforms 
than GNU make. Smake mainly misses target groups and conditional macro 
assignements, as well as support for the hidden auto-dependency stuff from the 
SUn compiler and linker. I planned to enhance smake for OpenSolaris in 2005 
already when Sun did not allow binary redistribution of the Sun make program.

BTW: smake consumes aprox. 10x less user CPU time than Sun make and is 
noticable faster in case that a target is up to date.

SchilliX will in future provide a drop in replacement for Sun dmake based on 
smake.

Jörg

-- 
 EMail:joerg at schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       js at cs.tu-berlin.de                (uni)  
       joerg.schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily



More information about the Developer mailing list