>Module Name: src >Committed By: sjg >Date: Sat Jul 6 18:19:17 UTC 2013 > >Modified Files: > src/usr.bin/make: main.c var.c > >Log Message: >If using gmake's MAKELEVEL; use it the same way
Now you put it back the way it was before which is wrong. Gmake does not behave this way. Before your change the following Makefile printed: --- Makefile --- all: echo makelevel=${MAKELEVEL} make=${MAKE} makeflags=${MAKEFLAGS} echo .makelevel=${.MAKELEVEL} ${MAKE} l1 l1: echo makelevel=${MAKELEVEL} make=${MAKE} makeflags=${MAKEFLAGS} echo .makelevel=${.MAKELEVEL} --- Output gmake --- echo makelevel=0 make=gmake makeflags= makelevel=0 make=gmake makeflags= echo .makelevel= .makelevel= gmake l1 gmake[1]: Entering directory `/u/christos' echo makelevel=1 make=gmake makeflags=w makelevel=1 make=gmake makeflags=w echo .makelevel= .makelevel= gmake[1]: Leaving directory `/u/christos' --- Output make before your fixes --- echo makelevel=0 make=make makeflags= makelevel=0 make=make makeflags= echo .makelevel=0 .makelevel=0 make l1 echo makelevel=1 make=make makeflags= makelevel=1 make=make makeflags= echo .makelevel=1 .makelevel=1 --- Output make after your fixes -- echo makelevel=1 make=/usr/src/usr.bin/make/obj.amd64/make makeflags= makelevel=1 make=/usr/src/usr.bin/make/obj.amd64/make makeflags= echo .makelevel= .makelevel= /usr/src/usr.bin/make/obj.amd64/make l1 echo makelevel=2 make=/usr/src/usr.bin/make/obj.amd64/make makeflags= makelevel=2 make=/usr/src/usr.bin/make/obj.amd64/make makeflags= echo .makelevel= .makelevel= As I mentioned before, it makes no sense to keep the variable internally at X and pass it to the program at X + 1, and as demonstrated, this is not what gmake does. christos