【发布时间】:2017-10-02 00:16:59
【问题描述】:
所以目前,我有一个 makefile 设置,我在一个目录 src 中编译所有 cpp 文件。结构如下
CCPP = g++
CPPFLAGS = -std=c++11
CPPLINK = -lstdc++
INC_DIR = include
CPP_FILES := $(wildcard src/*.cpp)
OBJ_FILES := $(addprefix lib/,$(notdir $(CPP_FILES:.cpp=.o)))
LD_FLAGS :=
CC_FLAGS := -c $(CPPFLAGS) -Wall -I$(INC_DIR)
bin/Xenon: $(OBJ_FILES) ; $(CCPP) $(LD_FLAGS) -o $@ $^
lib/%.o: src/%.cpp ; $(CCPP) $(CC_FLAGS) -c -o $@ $<
但是,虽然这样可行,但我想将 src 分成多个 cpp 文件的子目录。
如何使此解决方案适用于单个 src 文件夹下的任意数量的子目录?
注意:这里的bin/Xenon 是一个带有 main 方法的 CLI 应用程序可执行文件,而 INC_DIR 是我所有头文件所在的位置。这也在 OSX 上,而不是 Windows。
【问题讨论】: