我想做的是:
$(UNTAR_MARKER): $(TARFILE)
tar -xjkf $(TARFILE)
touch $(UNTAR_MARKER)
%.installed : %.untarred
dowork $^ $@
install: ????
其中????
是来自tarfile的一些* .untarred文件的列表(我有一个可以生成列表的shell命令,但它只能在文件解压缩后才能工作)。这里的问题是:
1)我不想做tar -tf,因为这是一个大的tarfile,我不想运行tar两次。
2)我想避免循环遍历每个文件的代码中的for循环(这不能利用并发性,并且它使makefile变得复杂,因为tar文件有些动态 - 第三方可以轻松添加文件它,我不想处理旧文件)
3)我想在makefile进行解析时避免解压缩,因为那只是简单的丑陋
我想知道是否有一种动态创建依赖关系列表的简单方法,并在运行规则后对其进行修改。