xref: /freebsd/contrib/bmake/README (revision d5e0a182cf153f8993a633b93d9220c99a89e760)
13955d011SMarcel Moolenaar			       bmake
239ac7ef4SSimon J. Gerraty			       *****
33955d011SMarcel Moolenaar
439ac7ef4SSimon J. GerratyThis directory contains a port of the BSD make tool (from NetBSD).
539ac7ef4SSimon J. GerratySince 1993 I have run it on AIX, BSDi, Darwin, FreeBSD, HP-UX, IRIX,
639ac7ef4SSimon J. GerratyLinux, Minix, OSF, Solaris, SunOS and even UTS.
739ac7ef4SSimon J. GerratyOthers have run it on many more systems.
83955d011SMarcel Moolenaar
9*d5e0a182SSimon J. GerratyCurrently each release is tested on Darwin, NetBSD, FreeBSD and Linux.
103955d011SMarcel Moolenaar
1139ac7ef4SSimon J. GerratySince 2003 bmake switched to a date based version (first was 20030714)
123955d011SMarcel Moolenaarwhich generally represents the date it was last merged with NetBSD's
133955d011SMarcel Moolenaarmake.  Since then, NetBSD's make is imported within a week of any
14*d5e0a182SSimon J. Gerraty*interesting* changes, so that bmake tracks it very closely.
153955d011SMarcel Moolenaar
1639ac7ef4SSimon J. GerratyBuilding
1739ac7ef4SSimon J. Gerraty========
183955d011SMarcel Moolenaar
1939ac7ef4SSimon J. GerratyThe preferred way to bootstrap bmake is::
203955d011SMarcel Moolenaar
213955d011SMarcel Moolenaar	./bmake/boot-strap
223955d011SMarcel Moolenaar
233955d011SMarcel Moolenaarthere are a number of args - most of which get passed to configure,
243955d011SMarcel Moolenaareg.
2539ac7ef4SSimon J. Gerraty::
263955d011SMarcel Moolenaar
273955d011SMarcel Moolenaar	./bmake/boot-strap --prefix=/opt
283955d011SMarcel Moolenaar
293955d011SMarcel Moolenaarsee the boot-strap script for details.
303955d011SMarcel Moolenaar
3139ac7ef4SSimon J. GerratyFor folk that hate to read anything, since 20121212 you can also use
3239ac7ef4SSimon J. Gerratythe GNU standard process of::
3339ac7ef4SSimon J. Gerraty
3439ac7ef4SSimon J. Gerraty	./configure; make; make install
3539ac7ef4SSimon J. Gerraty
36*d5e0a182SSimon J. GerratyThis will *not* work on Darwin or any other system with a case
37*d5e0a182SSimon J. Gerratyinsensitive filesystem.  It depends on a generated ``makefile`` which
38*d5e0a182SSimon J. Gerratyis disabled by default on Darwin.
39*d5e0a182SSimon J. Gerraty
403955d011SMarcel MoolenaarTo make much use of bmake you will need the bsd.*.mk macros or my
4139ac7ef4SSimon J. Gerratyportable *.mk macros which are included with bmake since 20121212
4239ac7ef4SSimon J. Gerratyand separately available from
43*d5e0a182SSimon J. Gerratyhttps://www.crufty.net/ftp/pub/sjg/mk.tar.gz
44*d5e0a182SSimon J. Gerratyboth that and
45*d5e0a182SSimon J. Gerratyhttps://www.crufty.net/ftp/pub/sjg/bmake.tar.gz
46*d5e0a182SSimon J. Gerratywill be links to the latest versions.
473955d011SMarcel Moolenaar
4839ac7ef4SSimon J. GerratyPorting
4939ac7ef4SSimon J. Gerraty=======
503955d011SMarcel Moolenaar
5139ac7ef4SSimon J. GerratyIf you encounter a system that bmake does not build or work on *out of
5239ac7ef4SSimon J. Gerratythe box*, I welcome patches.
53*d5e0a182SSimon J. GerratyEven a report of unit tests which fail is appreciated.
5439ac7ef4SSimon J. GerratyIf you can provide access to a suitable machine - even better.
553955d011SMarcel Moolenaar
56*d5e0a182SSimon J. GerratyMore info can be found at https://www.crufty.net/help/sjg/bmake.htm
573955d011SMarcel Moolenaar
5839ac7ef4SSimon J. Gerraty--sjg <sjg@crufty.net>
5939ac7ef4SSimon J. Gerraty
60