Makefile: use $$ in `define` blocks
Makefile: use $$ in `define` blocks

Make's "define" feature (macros) is subtle and it took me a long time to
convince myself this all works. In particular, we (prior to this commit)
are terribly inconsistent about the use of `$` vs `$$`.  We mostly get
away with it because the "variables" are more like "constants", but the
inconsistency trips up some things.  For example, using `$(shell)`
inside a macro will run at macro expansion time rather than when the
resulting make code is executed.

For a contrived, but concrete example, derived from our Makefile:

```
define MACRO
ifeq ($(DBG),1)
  $(warning dbg is $(DBG))
endif
endef # macro

TGTS=a b c
$(foreach pfx, $(TGTS), $(eval $(MACRO)))

default:
	@echo $@
```

yields:

```
$ make
Makefile:8: dbg is
Makefile:8: dbg is
Makefile:8: dbg is
default

$ make DBG=1
Makefile:8: dbg is 1
Makefile:8: dbg is 1
Makefile:8: dbg is 1
default
```

This is because `$(warning)` is evaluated as the macro is expanded.
Replace that with `$(shell)` and you can see how you might end up
running a bunch of things you didn't need to run.  The fix is:

```
define MACRO
ifeq ($(DBG),1)
  $$(warning dbg is $$(DBG))
endif
endef # macro

TGTS=a b c
$(foreach pfx, $(TGTS), $(eval $(MACRO)))

default:
        @echo $@
```

which yields:

```
$ make
default

$ make DBG=1
Makefile:8: dbg is 1
Makefile:8: dbg is 1
Makefile:8: dbg is 1
default
```

We COULD have only changed `$(warning)` to `$$(warning)` and left
`$(DBG)` alone, because that's a cheap expansion.  I chose NOT to do
that here because it requires brainpower to think about this all, and it
seems easier to set a simple rule: inside a `define`/`endef` block, you
always use `$$` unless you KNOW that you NEED expansion-time evaluation
(as in the `$(prefix)` in this commit, which is effectively an argument
to the macros).

mahak/kubernetes,BenTheElder/kubernetes,BenTheElder/kubernetes,olivierlemasle/kubernetes,openshift/kubernetes,PiotrProkop/kubernetes,spzala/kubernetes,rrati/kubernetes,alejandroEsc/kubernetes,MikeSpreitzer/kubernetes,openshift/kubernetes,feiskyer/kubernetes,iameli/kubernetes,nikhita/kubernetes,csrwng/kubernetes,shyamjvs/kubernetes,carlory/kubernetes,fabriziopandini/kubernetes,nikhita/kubernetes,dixudx/kubernetes,gnufied/kubernetes,li-ang/kubernetes,linux-on-ibm-z/kubernetes,mkumatag/kubernetes,jessfraz/kubernetes,soltysh/kubernetes,matthyx/kubernetes,carlory/kubernetes,mahak/kubernetes,alejandroEsc/kubernetes,nikhita/kubernetes,PiotrProkop/kubernetes,nikhita/kubernetes,lojies/kubernetes,zhouhaibing089/kubernetes,li-ang/kubernetes,shyamjvs/kubernetes,mkumatag/kubernetes,warmchang/kubernetes,iameli/kubernetes,sdminonne/kubernetes,ravilr/kubernetes,kubernetes/kubernetes,jackfrancis/kubernetes,PiotrProkop/kubernetes,aledbf/kubernetes,ii/kubernetes,thockin/kubernetes,shyamjvs/kubernetes,fabriziopandini/kubernetes,chestack/kubernetes,chestack/kubernetes,olivierlemasle/kubernetes,jessfraz/kubernetes,bparees/kubernetes,kevin-wangzefeng/kubernetes,tengqm/kubernetes,olivierlemasle/kubernetes,cblecker/kubernetes,kevin-wangzefeng/kubernetes,rnaveiras/kubernetes,sdminonne/kubernetes,zhangmingld/kubernetes,mahak/kubernetes,dixudx/kubernetes,mengqiy/kubernetes,enj/kubernetes,enj/kubernetes,jingxu97/kubernetes,spzala/kubernetes,rrati/kubernetes,BenTheElder/kubernetes,cblecker/kubernetes,ping035627/kubernetes,gnufied/kubernetes,BenTheElder/kubernetes,PiotrProkop/kubernetes,jsafrane/kubernetes,mikebrow/kubernetes,bparees/kubernetes,k82cn/kubernetes,rnaveiras/kubernetes,liggitt/kubernetes,mengqiy/kubernetes,jackfrancis/kubernetes,jessfraz/kubernetes,alejandroEsc/kubernetes,bparees/kubernetes,jackfrancis/kubernetes,matthyx/kubernetes,mengqiy/kubernetes,warmchang/kubernetes,GulajavaMinistudio/kubernetes,tengqm/kubernetes,MikeSpreitzer/kubernetes,thockin/kubernetes,GulajavaMinistudio/kubernetes,ravilr/kubernetes,zhouhaibing089/kubernetes,li-ang/kubernetes,zhangmingld/kubernetes,kubernetes/kubernetes,zhangmingld/kubernetes,soltysh/kubernetes,mikedanese/kubernetes,jsafrane/kubernetes,soltysh/kubernetes,zhangmingld/kubernetes,mikedanese/kubernetes,rrati/kubernetes,matthyx/kubernetes,cblecker/kubernetes,fabriziopandini/kubernetes,lojies/kubernetes,jackfrancis/kubernetes,kubernetes/kubernetes,carlory/kubernetes,mosoft521/kubernetes,feiskyer/kubernetes,dixudx/kubernetes,spzala/kubernetes,fabriziopandini/kubernetes,carlory/kubernetes,GulajavaMinistudio/kubernetes,ii/kubernetes,warmchang/kubernetes,iameli/kubernetes,soltysh/kubernetes,jingxu97/kubernetes,gnufied/kubernetes,nikhita/kubernetes,openshift/kubernetes,tengqm/kubernetes,sdminonne/kubernetes,ravilr/kubernetes,li-ang/kubernetes,aledbf/kubernetes,BenTheElder/kubernetes,li-ang/kubernetes,jingxu97/kubernetes,deads2k/kubernetes,liggitt/kubernetes,k82cn/kubernetes,mikebrow/kubernetes,rnaveiras/kubernetes,mikedanese/kubernetes,GulajavaMinistudio/kubernetes,zhouhaibing089/kubernetes,ii/kubernetes,openshift/kubernetes,mengqiy/kubernetes,shyamjvs/kubernetes,gnufied/kubernetes,mkumatag/kubernetes,liggitt/kubernetes,shyamjvs/kubernetes,csrwng/kubernetes,tengqm/kubernetes,feiskyer/kubernetes,MikeSpreitzer/kubernetes,olivierlemasle/kubernetes,csrwng/kubernetes,ping035627/kubernetes,aledbf/kubernetes,dims/kubernetes,mosoft521/kubernetes,k82cn/kubernetes,mkumatag/kubernetes,linux-on-ibm-z/kubernetes,lojies/kubernetes,linux-on-ibm-z/kubernetes,kevin-wangzefeng/kubernetes,liggitt/kubernetes,kubernetes/kubernetes,alejandroEsc/kubernetes,zhangmingld/kubernetes,chestack/kubernetes,deads2k/kubernetes,thockin/kubernetes,ii/kubernetes,feiskyer/kubernetes,k82cn/kubernetes,jessfraz/kubernetes,jsafrane/kubernetes,kubernetes/kubernetes,spzala/kubernetes,mahak/kubernetes,jackfrancis/kubernetes,dims/kubernetes,dims/kubernetes,mikedanese/kubernetes,soltysh/kubernetes,mikebrow/kubernetes,fabriziopandini/kubernetes,tengqm/kubernetes,aledbf/kubernetes,ping035627/kubernetes,jessfraz/kubernetes,PiotrProkop/kubernetes,rnaveiras/kubernetes,ii/kubernetes,kevin-wangzefeng/kubernetes,spzala/kubernetes,lojies/kubernetes,csrwng/kubernetes,mikebrow/kubernetes,verb/kubernetes,zhouhaibing089/kubernetes,ravilr/kubernetes,verb/kubernetes,kevin-wangzefeng/kubernetes,dims/kubernetes,iameli/kubernetes,bparees/kubernetes,jingxu97/kubernetes,jingxu97/kubernetes,iameli/kubernetes,GulajavaMinistudio/kubernetes,ping035627/kubernetes,linux-on-ibm-z/kubernetes,verb/kubernetes,thockin/kubernetes,sdminonne/kubernetes,jsafrane/kubernetes,openshift/kubernetes,jsafrane/kubernetes,MikeSpreitzer/kubernetes,deads2k/kubernetes,mahak/kubernetes,chestack/kubernetes,mosoft521/kubernetes,warmchang/kubernetes,csrwng/kubernetes,cblecker/kubernetes,rrati/kubernetes,matthyx/kubernetes,k82cn/kubernetes,gnufied/kubernetes,matthyx/kubernetes,alejandroEsc/kubernetes,mosoft521/kubernetes,lojies/kubernetes,MikeSpreitzer/kubernetes,thockin/kubernetes,ping035627/kubernetes,bparees/kubernetes,warmchang/kubernetes,carlory/kubernetes,feiskyer/kubernetes,zhouhaibing089/kubernetes,enj/kubernetes,dims/kubernetes,liggitt/kubernetes,deads2k/kubernetes,dixudx/kubernetes,mikedanese/kubernetes,verb/kubernetes,rnaveiras/kubernetes,rrati/kubernetes,deads2k/kubernetes,mikebrow/kubernetes,mosoft521/kubernetes,verb/kubernetes,cblecker/kubernetes,zhangmingld/kubernetes,dixudx/kubernetes,olivierlemasle/kubernetes,aledbf/kubernetes,sdminonne/kubernetes,enj/kubernetes,enj/kubernetes,mengqiy/kubernetes,mkumatag/kubernetes,chestack/kubernetes,ravilr/kubernetes,linux-on-ibm-z/kubernetes