我意识到这是一个查询查询,但我花了数小时查看以前的答案,但仍然处于亏损状态。我没有大量的makefile经验,并且发现很难遵循这些示例。Makefile目录的使用
我有以下生成文件:
CC=g++
CFLAGS=-c -Wall
LDFLAGS= -lSDL2 -lSDL2_image -lSDL2_ttf
SOURCES=main.cpp hello.cpp factorial.cpp
OBJS=$(SOURCES:%.cpp=%.o)
EXECUTABLE=hello
FULLOBJS = $(addprefix obj/,$(OBJS))
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJS)
$(CC) $(LDFLAGS) $(OBJS) -o [email protected]
.cpp.o:
$(CC) -MD -I. $(CFLAGS) $< -o [email protected]
clean:
-rm -rf $(OBJS) $(EXECUTABLE) $(OBJS:%.o=%.d)
-include $(OBJS:%.o=%.d)
其工作方式,我想。但是,如果我能够将.h.cpp .o和.b文件整齐地组织到/ header// source /和/ object/relative子目录中,情况会更好。请你能向我解释怎么做?
非常感谢
是否要为.h,.cpp,.o创建单独的文件夹并将路径添加到这些文件夹? – CroCo
如果可能的话。我认为有一种比单独为每个文件指定路径字符串更好的方法。我还假设有一种方法可以将makefile创建的所有.o和.d文件放到指定的目录中。 – user7119460