具有相同文件前缀、多个文件扩展名的Makefile目标
我正在编写一个makefile,作为其操作的一部分,它下载并提取一个包含ESRI形状文件的zipfile。Shapefile用词不当,因为Shapefile实际上是一个目录,包含名为shape的文件。[shp,dbf,prj,shp.html,shp.xml,sbn,sbx] 是否有方法定义要附加到make目标中的公共文件前缀的扩展名列表?比如:具有相同文件前缀、多个文件扩展名的Makefile目标,makefile,Makefile,我正在编写一个makefile,作为其操作的一部分,它下载并提取一个包含ESRI形状文件的zipfile。Shapefile用词不当,因为Shapefile实际上是一个目录,包含名为shape的文件。[shp,dbf,prj,shp.html,shp.xml,sbn,sbx] 是否有方法定义要附加到make目标中的公共文件前缀的扩展名列表?比如: shape.[mylistofexts] : shape.zip unzip stuff... 我发现这似乎是相反的,因为他们有一个单一的目
shape.[mylistofexts] : shape.zip
unzip stuff...
我发现这似乎是相反的,因为他们有一个单一的目标和多个来源,每个都需要处理。我的新手的直觉是,这应该是一个更简单的情况 这里需要的功能是在单个目标中使用多个模式 从GNU make makefile的部分: 此模式规则有两个目标:
%.tab.c %.tab.h: %.y
bison -d $<
可(技术上)缩短为:
%.shp, %.dbf %.prj %.shp.html %.shp.xml %.sbn %.sbx: %.zip
@unzip ...
$(addprefix %.,dbf prj shp.html shp.xml sbn sbx): %.zip
@unzip ...