Makefile目标依赖项:如何组合变量名
在我的Makefile中,我想做这样的事情Makefile目标依赖项:如何组合变量名,makefile,gnu-make,Makefile,Gnu Make,在我的Makefile中,我想做这样的事情 OBJ_sound =\ sound/soundaiff.o\ sound/sounddummy.o\ sound/sounddump.o OBJ_video =\ video/render.o\ video/rendercrt.o\ video/renderntsc.o lib_%.a: $(OBJ_%) $(AR) rcs $@ $+ 我想,当制作目标lib_video.a时,$(OBJ
OBJ_sound =\
sound/soundaiff.o\
sound/sounddummy.o\
sound/sounddump.o
OBJ_video =\
video/render.o\
video/rendercrt.o\
video/renderntsc.o
lib_%.a: $(OBJ_%)
$(AR) rcs $@ $+
我想,当制作目标lib_video.a时,$(OBJ_video)中的所有对象文件都打包到lib_video.a中,当制作lib_声音时,$(OBJ_sound)中的所有对象文件都打包到lib_sound.a中
但是上面我的Makefile代码段不起作用($+总是空的)。有人知道为什么吗?一个选项是使用:
一个选项是使用:
您的第一个建议无法工作,因为目标特定变量在先决条件列表中不可用。您的第一个建议无法工作,因为目标特定变量在先决条件列表中不可用。
.SECONDEXPANSION:
lib_%.a: $$(OBJ_$$*)
$(AR) rcs $@ $+