69,371
社区成员
发帖
与我相关
我的任务
分享
OUT_PUT = XXX/OUT/XXX.exe
SRC_DIR_XXX1 = XXX/SRC/XXX1
SRC_DIR_XXX2 = XXX/SRC/XXX2
OBJ_DIR_XXX1 = XXX/OBJ/XXX1
OBJ_DIR_XXX2 = XXX/OBJ/XXX2
OBJS = $(patsubst $(SRC_DIR_XXX1)/%.cpp, $(OBJ_DIR_XXX1)/%.o, $(wildcard $(SRC_DIR_XXX1)/*.cpp)) \
$(patsubst $(SRC_DIR_XXX2)/%.cpp, $(OBJ_DIR_XXX2)/%.o, $(wildcard $(SRC_DIR_XXX2)/*.cpp))
INCLUDE_DIR = -IXXX/SRC/XXX1 -IXXX/SRC/XXX2
vpath %.h XXX/SRC/XXX1
vpath %.h XXX/SRC/XXX2
vpath %.cpp XXX/SRC/XXX1
vpath %.cpp XXX/SRC/XXX2
All: $(OBJ_DIR_XXX1) $(OBJ_DIR_XXX2) $(OBJS)
g++ -o $(OUT_PUT) $(OBJS)
$(OBJ_DIR_XXX1) $(OBJ_DIR_XXX2):
mkdir $@
$(patsubst $(SRC_DIR_XXX1)/%.cpp, $(OBJ_DIR_XXX1)/%.o, $(wildcard $(SRC_DIR_XXX1)/*.cpp)): $(OBJ_DIR_XXX1)/%.o: $(SRC_DIR_XXX1)/%.cpp
g++ -c $< $(INCLUDE_DIR) -o $@
$(patsubst $(SRC_DIR_XXX2)/%.cpp, $(OBJ_DIR_XXX2)/%.o, $(wildcard $(SRC_DIR_XXX2)/*.cpp)): $(OBJ_DIR_XXX2)/%.o: $(SRC_DIR_XXX2)/%.cpp
g++ -c $< $(INCLUDE_DIR) -o $@
clean:
-rm -rf $(OUT_PUT) $(OBJ_DIR_XXX1) $(OBJ_DIR_XXX2)