*.d
我已经使用 make(使用)自动生成了依赖文件( ) g++ -MMD
,在这些文件中,我看到创建的规则没有任何配方。此外,从我的测试中,我注意到后续构建(*.d
创建后)仍将使用我自己在 Makefile 中定义的配方:
CPPFLAGS := -Iinclude
CXXFLAGS := -std=c++20 -Wall -Wextra -Werror -MMD
%.o: %.cpp
# recipe below used when building from dependency files!
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o$@ $<
-include $(DEPS_FILES)
文档中是否提到过,带有空配方的规则只会向现有规则添加先决条件?我之所以问这个问题,是因为我注意到它不使用此处定义的隐式规则。