Subject: Re: getting /usr/bin/make out of compatibility mode?
To: None <current-users@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: current-users
Date: 12/30/2004 04:42:36
In article <200412300418.iBU4I5Uq010273@ector.cs.purdue.edu>,
J Chapman Flack <flack@cs.purdue.edu> wrote:
>I just noticed this in 2.0 - maybe it was true before and I never noticed:
>
>$ cat Makefile
>foo : bar
>        echo $$$$
>        echo $$$$
>        cd /tmp
>        pwd
>$ make
>echo $$
>6221
>echo $$
>14194
>cd /tmp
>make: exec(cd) failed (No such file or directory)
>*** Error code 1
>
>Stop.
>
>That looks like old-style compatibility behavior, so I guess that's the
>default--but neither 'man make' nor /usr/share/doc/psd/12.make/tutorial.ms
>quite told me that.  I did see in 'man make' that -j will turn compatibility
>mode off, and that works:

Yes, compatibility mode is - and has been - the default since pmake was brought
to BSD. It is there so that old Makefiles that expect each command to 
be executed in a separate shell to work. Consider:

all:
	cd foo && make
	cd bar && make

christos