从Makefile中的pathname获取子字符串

时间:2011-01-13 10:36:27

标签: makefile

我目前在Makefile中有以下规则:

../obj/%.o: %.cpp
         mkdir -p ../obj/$<
         $(CXX) $(CXXFLAGS) $(INCLUDES) $(LIBS) -c $< -o $@
         rmdir ../obj/$<

它接受一个cpp文件并从中构建一个目标文件,将目标文件存储在obj目录下。我有multilpe文件夹层次结构,它将对象文件存储在此层次结构中,例如:

log/internal/log_level.cpp = ../obj/log/internal/log_level.o

很明显我已经黑了make来构建../obj下的必需文件夹。有没有办法可以使用make,也许通过patsubst,我可以使用$&lt;的值来mkdir不包括文件名?

1 个答案:

答案 0 :(得分:3)

$(<D)怎么样? Manual