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