首页 > 其他 > 详细

makefile

时间:2018-12-01 23:04:00      阅读:176      评论:0      收藏:0      [点我收藏+]
SRC_DIR  := src/
INC_DIR  := include/
OBJ_DIR  := build/
DEP_DIR  := build/
EXE_DIR  := build/
SRC      := $(notdir $(shell ls $(SRC_DIR)*.cpp))
OBJ      := $(patsubst %.cpp,$(OBJ_DIR)%.o,$(notdir $(SRC)))
DEP      := $(patsubst %.cpp,$(DEP_DIR)%.d,$(notdir $(SRC)))
LIBFLAGS :=
CXXFLAGS := -Wall -std=c++11 -DWIN32
INCFLAGS := -I$(INC_DIR) 
EXE      := $(EXE_DIR)main.exe

vpath %.cpp $(SRC_DIR)

.PHONY: run clean

$(EXE): $(OBJ)
    $(CXX) -o $(EXE) $(OBJ) $(LIBFLAGS)

run:
    ./$(EXE)

clean:
    rm -f $(OBJ_DIR)*.o $(DEP_DIR)*.d $(EXE)

$(OBJ_DIR)%.o: %.cpp
    $(CXX) -c $< -o $@ $(INCFLAGS) $(CXXFLAGS)

$(DEP_DIR)%.d: %.cpp
    @$(CXX) $< -MP -MM -MF$@ -MT$@     -MT$(patsubst %.d,$(OBJ_DIR)%.o,$(notdir $@))     $(INCFLAGS) $(CXXFLAGS)

ifneq ($(MAKECMDGOALS),clean)
include $(DEP)
endif

 资料:

https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/Preprocessor-Options.html#Preprocessor-Options

 

makefile

原文:https://www.cnblogs.com/howld/p/10051164.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!