根据依赖项对文件名进行排序

时间:2012-03-20 18:49:14

标签: makefile dependencies

我有一个程序以makefile格式生成的依赖项列表,即

 dependent_resource: dependency1 dependency2

然而,我的最终程序组合这些资源实际上需要依赖顺序的文件,即必须在依赖资源之前提供所有依赖项。

是否有任何工具可以使用这些makefile依赖文件并对资源列表进行排序,以便以后由编译器处理?

修改

依赖项文件的简单转换将不起作用,因为我有一个每个资源的依赖项文件,并且依赖项可能在文件中出现多次(作为不同资源的依赖项)。

最好的方法很可能是直接从make本身获取依赖关系。它必须至少具有隐含的依赖关系,因为它将以我稍后需要提供它们的相同顺序构建依赖关系。但我不知道从正在运行的make中提取它们的方法。

1 个答案:

答案 0 :(得分:1)

你可以使用Make本身。假设您的依赖项文件名为dependencyFile。然后运行这个makefile:

EVERYTHING := $(shell cat dependencyFile | sed 's/:/ /')

all: $(EVERYTHING)
    @

%:
    @echo $@

include dependencyFile