Rob*_*nes 6 gnu makefile gnu-make
鉴于这条线:
program_OBJS := ${program_SRCS:.cpp=.o}
Run Code Online (Sandbox Code Playgroud)
我想附加.o到每个文件名而不是替换.cpp为.o.
我怎么做?
为了只是附加的东西,你可以用空格分隔的项目列表:
program_OBJS := $(foreach program,$(program_SRCS),$(program).o)
Run Code Online (Sandbox Code Playgroud)
要使用替换方法(就像您在问题中显示的那样):
program_OBJS := $(program_SRCS:.cpp=.cpp.o)
Run Code Online (Sandbox Code Playgroud)
但为此,列表必须包含.cpp足够,否则不会发生替换.
这个怎么样:
STRING1:="foo"
STRING2:="bar"
STRING1:=$(STRING1)$(STRING2)
Run Code Online (Sandbox Code Playgroud)
显然,您可以将结果保存到一个新变量中。