这样的makefile是如何工作的?(这正常吗?)
我在makefile中遇到了这样的模式这样的makefile是如何工作的?(这正常吗?),makefile,Makefile,我在makefile中遇到了这样的模式 CXXOBJ = f1.o f2.o f3.o $(CXXOBJ): %.o: %.cpp g++ -c $< -o $@ f1.o: f1.cpp f1.hpp f2.hpp f2.o: f2.cpp f2.hpp f3.hpp macros.h f3.o: f3.cpp f3.hpp cxobj=f1.of2.of3.o $(cxobj):%.o:%.cpp g++-c$
CXXOBJ = f1.o f2.o f3.o
$(CXXOBJ): %.o: %.cpp
g++ -c $< -o $@
f1.o: f1.cpp f1.hpp f2.hpp
f2.o: f2.cpp f2.hpp f3.hpp macros.h
f3.o: f3.cpp f3.hpp
cxobj=f1.of2.of3.o
$(cxobj):%.o:%.cpp
g++-c$<-o$@
f1.o:f1.cpp f1.hpp f2.hpp
f2.o:f2.cpp f2.hpp f3.hpp macros.h
f3.o:f3.cpp f3.hpp
它可以工作(至少与GNU make 4.0兼容)
它使用第四行的通用配方,
但除此之外,还使用在底部定义的依赖项 问题
如何为同一个文件组合两个不同的规则?(只需附加依赖项列表或其他内容?
(我正在浏览GNU make手册,但找不到相关部分)
这称为静态模式规则()。它是特定于GNU制造的。当不同的目标需要构建不同的配方,但匹配相同的模式时,它可能很有用 至于第三个问题,对于同一个文件没有明确的规则。一切都定义得很好,每个目标都有相应的.cpp文件