其他分享
首页 > 其他分享> > Makefile通用模板

Makefile通用模板

作者:互联网

##
#
EXECUTABLE:=11-8
LIBDIR:=
LIBS :=
INCLUDES :=
SRCDIR :=
#
#

CC := g++
CFLAGS := -g -Wall -O3
CPPFLAGS := $(CFLAGS)
CPPFLAGS += $(addprefix -I, $(INCLUDES))
CPPFLAGS += -MMD
#
#

RM-F := rm -f

# # You shouldn't need to change anything below this point.
# #
SRCS := $(wildcard *.cpp) $(wildcard $(addsuffix /*.cpp, $(SRCDIR)))
OBJS := $(patsubst %.cpp,%.o,$(SRCS))
DEPS := $(patsubst %.o,%.d,$(OBJS))
MISSING_DEPS := $(filter-out $(wildcard $(DEPS)),$(DEPS))
MISSING_DEPS_SOURCES := $(wildcard $(patsubst %.d,%.cpp,$(MISSING_DEPS)))
#
#
.PHONY : all deps objs clean veryclean rebuild info
#
all: $(EXECUTABLE)

deps : $(DEPS)

objs : $(OBJS)

clean :
    @$(RM-F) *.o
    @$(RM-F) *.d
veryclean: clean
    @$(RM-F) $(EXECUTABLE)

rebuild: veryclean all
ifneq ($(MISSING_DEPS),)
$(MISSING_DEPS) :
    @$(RM-F) $(patsubst %.d,%.o,$@)
endif
-include $(DEPS)
$(EXECUTABLE) : $(OBJS)
    $(CC) -o $(EXECUTABLE) $(OBJS) $(addprefix -L,$(LIBDIR)) $(addprefix -l,$(LIBS))

info:
    @echo $(SRCS)
    @echo $(OBJS)
    @echo $(DEPS)
    @echo $(MISSING_DEPS)
    @echo $(MISSING_DEPS_SOURCES)
 

标签:OBJS,%.,通用,MISSING,Makefile,EXECUTABLE,echo,DEPS,模板
来源: https://blog.csdn.net/fireroll/article/details/121331833