Рассмотрим следующий 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 создает цепочку зависимостей #include
с помощью команды g++ -M
и включает ее.Это может быть довольно длительный процесс.Проблема в том, что этот файл генерируется, даже если вызывается make clean
, когда этот файл все равно будет удален.Есть ли способ условно включить этот файл и не создавать его, если запущена чистая цель?