免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1512 | 回复: 2
打印 上一主题 下一主题

问个 Makefile 问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-22 09:57 |只看该作者 |倒序浏览
    貌似 CU 上面没有专门讨论 Makefile 的区域吧,就暂时发在这里吧。如果有专门的这样的地方,麻烦大家告知下.

Makefile 的内容如下:
--------------------
MODULE_LIST=crypto/ansi_cprng.ko drivers/net/phy/bcm63xx.ko drivers/net/phy/broadcom.ko drivers/net/phy/cicada.ko                  

var_list0 := $(MODULE_LIST:.ko=.o)
var_list1 := $(wildcard $(MODULE_LIST:.ko=.o))
var_list2 := $(sort $(MODULE_LIST:.ko=.o))

all:
        @echo "var_list0 = $(var_list0)"
        @echo "var_list1 = $(var_list1)"
        @echo "var_list2 = $(var_list2)"

make 的执行结果如下:
----------------------
$ make
var_list0 = crypto/ansi_cprng.o drivers/net/phy/bcm63xx.o drivers/net/phy/broadcom.o drivers/net/phy/cicada.o
var_list1 =
var_list2 = crypto/ansi_cprng.o drivers/net/phy/bcm63xx.o drivers/net/phy/broadcom.o drivers/net/phy/cicada.o

问题:
+++++++
     为什么 经过 wildcard内置函数处理之后,var_list1 变成空值了? 麻烦大师们详细讲解下.

论坛徽章:
1
白羊座
日期:2013-08-22 17:30:33
2 [报告]
发表于 2012-03-22 11:11 |只看该作者
make手册里关于wildcard的描述
======================================================================================
在Makefile 中,它被展开为已经存在的、使用空格分开的、匹配此模式的所有文件列表。如果不存在任何符合此模式的文件,函数会忽略
模式字符并返回空。

论坛徽章:
0
3 [报告]
发表于 2012-03-22 17:01 |只看该作者
谢谢楼上的回复,经过验证,的确是这样。

必须是 "已经存在的文件",不知是单单的 "字符串".
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP