title: Makefile unset variable from all further recipes
body: <p>There are some questions on here that ask about how to unset variables - whether via <code>unexport</code> or <code>undefine</code>. I'm using GNU make 3.81, so the latter isn't an option, but the former doesn't quite work for me. For example, I want to unset a variable if it came from the environment for the rest of the recipes in this makefile. Here's a sample makefile, I want this to print 0 if <code>VAR</code> is set from the environment, but as-is it prints 1:</p>
  
  <pre><code>ifdef VAR
  ifeq "$(origin VAR)" "environment"
  unexport VAR
  endif
  endif
  
  ifdef VAR
  ALIVE := 1
  else
  ALIVE := 0
  endif
  
  all:
      @echo $(ALIVE)
  </code></pre>
  
  <p>How can I make it print 0 in that case? Is that possible? </p>