我目前在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不包括文件名?