根据规则进行过滤
这样的 make 规则
我有一个像app.o: app.c bc ac hh file.list
,我正在使用规则 $^
对所有依赖项执行一些操作。 但我想根据依赖项的文件扩展名进行过滤。 我怎样才能做到这一点?
我想要一个变量
k =(仅包含依赖项列表中的.c文件)
I have a make rule like
app.o: app.c b.c a.c h.h file.list
I am using rule $^
to do some action on all dependency.
But I want to filter based on file extension on dependency.
How can I do that ?
I want a variable
k = (which contain only .c file from dependency list )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用GNU Make,那么
就可以解决问题(过滤器返回列表中与给定模式匹配的所有单词,过滤器返回不匹配的单词)。如果您使用一些更原始的 make,则必须求助于
注意: Make 中变量的工作方式允许您说
,它将扩展到当前目标的 .c 依赖项。
If you are using GNU Make, than
will do the trick (filter returns all words matching given pattern from a list, filter-out returns the non-matching ones). If you are using some more primitive make, you'll have to resort to
Note: The way variables work in Make allows you to say
and it will expand to the .c dependencies of current target.