make and gmake on FreeBSD

Andrew Falanga af300wsm at gmail.com
Thu Jul 26 21:05:26 UTC 2007


On 7/26/07, Dima Sorkin <dima.sorkin at gmail.com> wrote:
> Hi.
>  I have a FreeBSD 6.2, installed it from the distribution disks, no
> changes by me.
>
> There is a "make" and a "gmake" installed on it. They report that they
> are the same programm, but in fact they behave completely different.
> In fact only "gmake" behaves
> like "GNU make" should behave and only with "gmake"
> I succeed to build serious projects.
>
>  What happens here ?  What I the "make", where did it come from ?
>
> How do I cause to system "make" behave as "gmake" ?
>
> Thanks, regards,
>  Dima.
>
> P.S.  see their output:
> [dsorkin at eml5 /usr/home/dsorkin]$ make --version
> GNU Make 3.81
> Copyright (C) 2006  Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.
> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE.
>
> This program built for i386-portbld-freebsd6.2
> [dsorkin at eml5 /usr/home/dsorkin]$ gmake --version
> GNU Make 3.81
> Copyright (C) 2006  Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.
> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE.

make is BSD make, gmake is GNU make (hence the reason it behaves like
GNU make :-).  Others from this list can give you a more in-depth
discussion of the differences.  It's odd that you get the same results
as shown above.  BSD make doesn't have a --version option.  I would
suspect you have an alias, or something similar, setup to "link" make
to gmake.

I've used gmake "extensively" for my projects, but never BSD make.  I
believe that BSD make is the version use by many of the ports
packages, and most definitely by the system build environment.  Please
note that many of the ports use gmake as well.

Andy


More information about the freebsd-questions mailing list