NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: What is BSD make?

On 11-Oct-08, at 8:29 AM, Aleksey Cheusov wrote:

I've found it's VERY interesting and in many aspect much better than
GNU make. But I have a few questions about it. Some are about history.

Indeed. GNU Make suffers now from a lot of stagnation and backwards compatibility issues or something like that. Worse though are the GNU Standards for makefiles and all the cruft they require.

3) In my view bsd.*.mk scripts is a main thing about BSD make. It is
really amazing thing and may be much more important than make itself.
  I believe that MK scripts with _some extensions and additions_
  may be excellent replacement for GNU make + automake + libtool.

  I really love declarative nature in writing Makefiles, I like this
  approach and think that things like automake/libtool must die.

  The question is (rhetorical again) why BSD makes are used mainly to
  build respective *BSD systems and not used by software developers
  outside *BSD. That is, why BSD make and especially MK scripts are
  promoted so badly :-(

Indeed. You've hit the nail on the head -- all those nails square on their heads!

automake is/was just an attempt to satisfy the silly GNU Standards requirements and to strive to maintain some simplicity for the programmer; and perhaps to show how silly those standards requirements are in general, though I think now that has backfired rather completely.

autoconf was kinda cool in the beginning, but it too has grown beyond all reasonable levels.

4) Recently I've found that FreeBSD and NetBSD MK scripts
  are also a bit different. They build shared libraries
  differently, for examples (I have no access to OpenBSD).

Indeed, a sad fact.

8) The same as 7) for pthread support. It whould be nice to write Makefile
  like this

     PROG=             hello

     NEED_PTHREAD=     yes

     .include <>

The pkgsrc style of adding .includes for the required dependencies could work well too.

9) I'm looking for system (replacement for automake/libtool/make)
  where I can write declarative Makefiles, just like that I can write
  with <bsd.*.mk> scripts and BSD makes, but with problems mentioned
  above solved. Any suggestions?  I don't want to reimplement the
  wheel and implement such scripts manually.

Me too!

Simon's work goes a (very) long way, but it would be most excellent if it could be integrated into NetBSD, with mechanisms to make independent releases of just the make tools easy to create so users could generate them on demand for use on other types of systems. Such integration would help NetBSD both in spreading a good, clean, and elegant philosophy about build tools, as well as to help free NetBSD from being so tied to GNU C and binutils. Naturally the portable build tools would also benefit from the greater resources of more developers to help maintain everything.

There was also an interesting attempt along these lines by Julio M. Merino Vidal in his builtool project. Unfortunately it seems to have died an early death. Perhaps though some ideas can be taken from it and shared with Simon's work to create a more complete solution.

I look forward to reading more answers to your questions!

                                        Greg A. Woods; Planix, Inc.

Attachment: PGP.sig
Description: This is a digitally signed message part

Home | Main Index | Thread Index | Old Index