GNU Makefile替换引用问题:使用%2次
我试图使用GNUMake的替换引用,但我需要在替换中引用%两次。而且它没有按照我预期的方式工作。这是我的Makefile:GNU Makefile替换引用问题:使用%2次,makefile,gnu-make,Makefile,Gnu Make,我试图使用GNUMake的替换引用,但我需要在替换中引用%两次。而且它没有按照我预期的方式工作。这是我的Makefile: foo := io protocol util bar := $(foo:%=../Lib%/obj/lib%.a) default: ; @echo bar = $(bar) 我想以以下方式结束: ../Libio/obj/lib%.a ../Libprotocol/obj/lib%.a ../Libutil/obj/lib%.a``` I've read the
foo := io protocol util
bar := $(foo:%=../Lib%/obj/lib%.a)
default: ; @echo bar = $(bar)
我想以以下方式结束:
../Libio/obj/lib%.a ../Libprotocol/obj/lib%.a ../Libutil/obj/lib%.a```
I've read the GNU Make reference manual, and I don't see any mention or examples of using % twice in one statement. I don't even know if it is possible.
Any help would be greatly appreciated.
bar=../Libio/obj/Libio.a../Libprotocol/obj/Libprotocol.a../Libutil/obj/Libutil.a
但这就是我的结局:
../Libio/obj/lib%.a ../Libprotocol/obj/lib%.a ../Libutil/obj/lib%.a```
I've read the GNU Make reference manual, and I don't see any mention or examples of using % twice in one statement. I don't even know if it is possible.
Any help would be greatly appreciated.
正如您通过阅读手册所发现的,不可能使用该模式两次。只有第一个字符被扩展:其余的被简单地认为是文字字符 您可以改用
foreach
功能:
bar := $(foreach F,$(foo),../Lib$F/obj/lib$F.a)
完美的非常感谢。