所以我在尝试使用makefile来处理我的项目时遇到了很多麻烦。目前我发现了一个错误,表明
制作:***没有规则来制作目标../obj/Game.o', needed by
jamoo'。停止。
我的文件系统设置如下
makefile
/src
.cpp files
/include
.h files
/obj
这是makefile。
# MODULES are the names of files without extensions to be compiled
MODULES = Game Map Door_Node Floor_Tile Room_Node
#SOURCES are the .cpp files
SOURCES = $(addsuffix .cpp, $(MODULES))
#DEPS are the .hpp files we are compiling against
DEPS = $(SOURCES: .cpp=.hpp)
# OBJS are the .o files that we compile to before linking
OBJ = $(SRC:.cpp=.o)
# CC is the compiler
CC = g++
# Compiler Options
CFLAGS = -o jamoo -I -Werror -Wall
# Library Linking Options
LFLAGS =
../obj/%.o: ../src/%.cpp ../include/%.hpp
$(CC) $(CFLAGS) $(LFLAGS)
jamoo: $(patsubst %, ../obj/%.o, $(MODULES))
$(CC) $(CFLAGS) $(LFLAGS)
clean:
rm jamoo
我认为问题是make无法解析文件系统,但我不知道如何编写makefile来执行此操作。谢谢你的帮助。