On Sat, Mar 22, 2014 at 10:36 AM, Assaf Gordon <[email protected]> wrote: > 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
Hi Gordon, That makes it look like the FreeBSD bmake invokes each line using a shell with the equivalent of "set -e" in effect. That is the trouble. Do they document if/how they set the SHELL environment variable? You can probably cause GNU make to misbehave in the same manner by setting SHELL to something like "/bin/sh -e".
