David Brown [off-list ref] writes:
And the additional CFLAGS will only apply to the compilation of foo.
Since the ALL_CFLAGS is expanded lazily, it gets expanded for each target,
and the rule above causes CFLAGS to have extra values only on that target.
Lazy expansion is true, but the reason we did ALL_CFLAGS was to
make CFLAGS overridable from the command line.
I suspect that this would currently fail to add -I/some/where/include
on the compilation command line:
make CFLAGS='-Os -g' CURLDIR=/some/where
while CURL_LIBCURL is set correctly on the linkage command line.