above make file gives following results.
error is issued.
But, we can resolve this error by changing line (*A) into below line.
What is root cause of this?
Let's see source code of 'func_shell' function in GNUMake-v4.0.
That is, 'shell' function stores it's result(stdout) into variable_buffer.
variable_buffer is buffer that is used to store result of variable-expandsion.
What does this mean?
See below samples.
Above analysis means, (*1) and (*2) is same expression in gnumake's point of view.
Actually, above rules are same on all other functions in gnumake.
But, most function gives empty string - that is, it doesn't write string value to stdout.
So, it doesn't write anything into variable_buffer. That's reason why above issues are not shown at other functions.
And, in gnumake's point of view, 'function' and 'variable' is same in concept.
So, we can say that 'function' is just special variable that can get arguments - a kind of 'predefined variable'.
Therefore, we should use same concept for 'variable' and 'function' to understand gnumake.
|[Essay] 생산성 향상에 따른 부정적인 경험, 그리고 반발. (0)||2016.01.26|
|[GNUMake] GNUMake variable expansion - dependency section (0)||2015.03.19|
|[GNUMake] 'shell' function (0)||2015.03.19|
|variable expansion at command section on GNUMake (0)||2015.02.02|
|Apache에 다양한 service를 올릴때 주의할 점. (0)||2014.10.27|
|[Tip] 시간 차(delta) 측정을 위한 코드에서 사용할 수 있는 아~주~ 작은 tip - ex. JAVA (0)||2013.05.23|