Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GNU Makefile替换引用问题:使用%2次_Makefile_Gnu Make - Fatal编程技术网

GNU Makefile替换引用问题:使用%2次

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

我试图使用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 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)

完美的非常感谢。