将文件添加到 GNU 依赖项列表?

Posted

技术标签:

【中文标题】将文件添加到 GNU 依赖项列表?【英文标题】:Adding a file to GNU dependency list? 【发布时间】:2015-09-26 04:55:05 【问题描述】:

我制作了一个简单的 makefile 来编译 AVR 代码。我有一个规则如下:

%.o: %.c
    $(CC) -c -o $@ $<
    $(CC) -M $(FLAGS) $*.c > $*.d | sed -e ':?:? avr.rules ?'

我试图让它在 test.d 中,它会说

test.o: test.c test.h avr.rules

我以前使用类似的 sed 命令完成过,但现在似乎无法获得它。有人可以在这里给我指点吗?

【问题讨论】:

【参考方案1】:

你可以说

%.o: %.c
    $(CC) -c -o $@ $<
    $(CC) -M $(FLAGS) $*.c > $*.d
    echo '$@: avr.rules' >> $*.d

拥有多个依赖跟踪目标没有问题(因为它们都没有配方)。

如果你坚持用 sed 来做,

    $(CC) -M $(FLAGS) $*.c | sed 's/:/: avr.rules/' > $*.d

也可以。

旁注:您可以使用$&lt; 代替$*.c

【讨论】:

啊,好吧,我把 sed 放在了错误的位置。另一方面,我希望包含 avr.rules 的原因是因为根据输入标志,$(FLAGS) 会更改值,所以我希望它使用新标志重建对象。然而它似乎并没有这样做

以上是关于将文件添加到 GNU 依赖项列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 jquery-slider 添加到 browserify 中的依赖项列表中?

GNU Makefile - 具有一个依赖项的多个目标的模式规则忽略所有目标,但第一个

将 Qt 依赖项添加到 rpmbuild 中的规范文件

如何将 Google 视觉依赖项添加到我的 .aar?

如何将 gradle 库依赖项添加到 codenameone 项目

如何将 PyPi 依赖项添加到 DEB 包