在这种情况下:
sample.o: sample.hpp
%.o: %.cpp
$(CXX) -o $@ -c $<
sample.o: utility.hpp
$<
)?
sample.hpp
?
sample.cpp
? ...
utility.hpp
样品.hpp
是make找到的第一个先决条件。
cpp样品
是包含配方的规则的第一个必要条件,这是最有意义的。
把它作为第一个先决条件是没有意义的,但我认为它是完整的。
sample.o: sample.hpp utility.hpp
# implicit rule %.o: %.cpp
如果…怎么办?
%.o: %.cpp
sample.o: sample.hpp
%.o: %.cpp %.d
$(CXX) $(DEPFLAGS) -o $@ -c $<
从第一行开始,或者
样品.hpp
自从
%.o: %.cpp
被重写
%.o: %.cpp %.d
和
是新的第一个先决条件;或
cpp样品
因为这是包含配方的规则的第一个先决条件。
如果…怎么办?
sample.o: sample.hpp
%.o: %.cpp
sample.o: utility.hpp
%.o: %.cpp %.d
$(CXX) $(DEPFLAGS) -o $@ -c $<
样品.hpp
或
第四行。
简而言之,gnumake使用什么标准或算法来填充
$<
?