On Fri, Jan 23, 2015 at 04:08:08AM -0600, Rob Landley wrote:
> But tcl is out of scope. (And only seems to be used for two things:
> tcl/tk graphics whatsis that python finally mostly weaned itself off of,
> and expect.)
> 
> > I recommend Brent Welch's "Practical Programming in Tcl and Tk" from
> > Prentice Hall as the best Tcl book I'm aware of.  For Expect, you want
> > Don Libes' "Exploring Expect" published by O'Reilly.
> > 
> >> https://lkubuntu.wordpress.com/2013/01/09/shbuild-an-alternative-to-gnu-make-using-shell-scripts/
> 
> I forget where I posted my make rant. Might have been a year or two back
> on the toybox list? Ah no, it was on the aboriginal list (in two parts):
> 
> http://lists.landley.net/pipermail/aboriginal-landley.net/2011-June/000859.html
> http://lists.landley.net/pipermail/aboriginal-landley.net/2011-June/000860.html
> 
> (And yes, I found that by googling for "landley make rant".)
> 
> >> am i missing something or is gnu make the only Makefile processing make
> >> program without adding additional dependencies like perl?
> > 
> > Another popular alternative is Scons (http://www.scons.org/), but
> > Scons requires Python.
> 
> Requiring python is pretty much a deal breaker. (As mercurial seems to
> have discovered, having about 5% of the market share of git at this point.)
> 
> But the big problem is that rewriting the makefiles of existing projects
> is a flaming pain. (As I'm sure enh could tell you, since Android is
> apparently doing it. I'm not convinced their way of doing it is _better_
> since it's still based on make, but I haven't looked too deeply yet.)
> 
> > Wikipedia has a list of build automation software -
> > http://en.wikipedia.org/wiki/List_of_build_automation_software
> 
> We need a rethink of build systems the way git/mercurial was a rethink
> of cvs and svn. Unfortunately, there's a network effects thing where
> crap like CVS being standardized outweighed the benefits of the new
> thing unless you had a flagship like linux-kernel that can get you a
> critical mass of new developers. We haven't got that for make. X11 tried
> its own make for a while (imake?), Apache had Ant, and so on, but none
> of it really made a dent.

imake was not X11's own make: it was an alternative to configure that
used the C preprocessor to generate makefiles.
The concept is that you can figure out how to do something for a given
OS, and then the build system #include's a config file that does that.
It's trivial to write an Imakefile, but debugging the result can be 
somewhat difficult if you don't know that it's generated using cpp, or
the OS config files don't really match your system.

And yes, there are people still using it. The latest xterm is one
example, and another is cdesktopenv.
In case you don't know what that is:
cdesktopenv is the open source CDE project. I've contributed a couple
small bits to it.  It takes me a few hours to build.
Recently, some GNU folks came in, wanted to replace the Imake build
system with Autoconf, got some objections, found out about the "we'd
/like/ to relicense to MIT down the road" bit, and pitched a fit and
said they'd fork it as a GNU project, talking about naming the fork
GDE.

ant is intended for Java; it's compatible with the build system used by
Eclipse.

The BSDs each have their own make; the freebsd-make and bmake/pmake
packages are ports of the freebsd and netbsd versions.

smake is probably close to gmake in how it interprets makefiles.
But I don't expect you'd want to touch it--it's Schilling's fork of
Solaris make.

There's an "amake" that's supposedly gmake compatible:
amake.sourceforge.net

cmake is a config system, but you've probably heard of it.
dmake is the OpenOffice build tool, which no-one else seems to use.
{e,f,h,j,k}make are Erlang, Fortran, Haskell, Java, and KDE "make" versions.
Some generate makefiles, some replace make.
lmake is either a Perl-based latex build tool or a Lua-based make
implementation.
qmake and tmake are Qt-related projects that generate makefiles.
nmake is (a) the Bell Labs make or (b) the MS "looks like make but
*needs* spaces instead of tabs" tool.

Basically, every letter except "u" is claimed; that's used for something
unrelated.

omake and xmake are extended make-like tools;
zmake and rmake are remote build tools.

HTH,
Isaac Dunham
_______________________________________________
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to