日期:2014-05-16  浏览次数:20693 次

一个 makefile 问题
我编写了一个makefile 文件 test.mk , 测试一些语句:

$(shell echo "abcd")

该语句编译不过, 然后,我修改成:

xyz=$(shell echo "abcd")

可以编译通过, 这个是什么原因, 请教大虾指点...




------解决方案--------------------
不懂了
------解决方案--------------------
在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。
eg:
xx = xx1 // 这里时makefile代码
yy:xx = xx2 // 这是makefile代码,makefile允许变量赋值时,'='号两边留空格
yy:
xx=xx3 // 只有这里是shell代码 ,shell不允许‘=’号两边有空格哦。
有一个例外:
xx=$(shell 这里的代码也是shell代码)

摘录的,应该是解释了你的问题。