【发布时间】:2011-06-19 08:36:07
【问题描述】:
考虑以下 Makefile:
# <include global configuration Makefile>
INCL = -I../include \
-I<whatever>
CPPFLAGS=$(DEFS) $(INCL)
CXXFLAGS = -O0 -g -Wall -fmessage-length=0
SRCS = $(wildcard *.cpp)
OBJS = $(SRCS:.cpp=.o)
all: $(OBJS)
%.o: %.cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
depend: .depend
.depend: $(SRCS)
$(CPP) $(CPPFLAGS) -M $^ > $@
clean:
rm -f $(OBJS)
rm .depend
-include .depend
这个 Makefile 使用 g++ -M 命令创建一个 #include 依赖链,并包含它。这可能是一个相当长的过程。问题是即使调用make clean 也会生成此文件,但无论如何都会删除此文件。有没有办法有条件地包含这个文件,如果运行干净的目标就不用费心创建它?
【问题讨论】:
-
详细回答[这里][1]。 [1]:stackoverflow.com/questions/3714041/…