关于makefile模式规则中指定obj目录 -- 在线等待
我的目录结构如下:
工作组目录
bims
+- src
+- obj
我的当前目录是src, 源码以及.h文件均在src中, 然后我想通过模式规则将src目录下的所有.cpp编译出的中间文件存放到obj中. 请问模式规则应如何编写?
下面是我的makefile文件的内容:
SRCPATH =
OBJPATH = ..\objs
OBJS = $(OBJPATH)\bims_core.obj
LIBS = user32.lib gdi32.lib
TARGET = ..\bims.exe
CXXFLAGS = /c /D "_UNICODE" /D "UNICODE" /Fo"../objs/"
CXX = cl.exe
LINK = link.exe
LINKFLAGS = /out:$(TARGET)
# 连接可执行文件.
$(TARGET):$(OBJS)
$(LINK) $(LINKFLAGS) $(LIBS) $(OBJS)
问题就在这里. 我这样指定之后, 总是提示: No rule to make target `..\objs\bims_core.obj', needed by `..\bims.exe'.信息.
$(OBJPATH)\%.obj:%.cpp
$(CXX) $(CXXFLAGS) $<
%.obj:%.cpp
$(CXX) $(CXXFLAGS) $<
all: $(TARGET)
clean:
rm -f $(OBJS) $(TARGET)