One more critical difference (in building on FreeBSD-10 vs. common linux):
The following contrived Makefile, works on Linux (with either GNU make or
bmake), but fails on FreeBSD-10:
===
$ cat makefile
all:
non_existing_command ; true
===
On Linux (using GNU make + 'dash' as the shell):
===
$ make && echo ok
non_existing_command ; true
/bin/sh: non_existing_command: not found
ok
$ bmake && echo ok
non_existing_command ; true
/bin/sh: non_existing_command: not found
ok
===
On FreeBSD-10 (using bmake and FreeBSD's native 'sh'):
===
$ make
non_existing_command ; true
non_existing_command: not found
*** Error code 127
Stop.
make: stopped in /usr/home/gordon/bmake_differences
===
This method is used in 'automake' generated Makefiles in several places (e.g. in the
"help2man" part, in my previous emails) - and now I understand why it didn't stop the
"make" on Linuxes but caused build failure on FreeBSD-10.
Hope this helps,
-gordon