C++ GNU make中是否有减少重复先决条件模式的方法?
目前的做法是这样的,看起来很笨拙C++ GNU make中是否有减少重复先决条件模式的方法?,c++,c,makefile,gnu-make,C++,C,Makefile,Gnu Make,目前的做法是这样的,看起来很笨拙 ex1_test : ex1.o ex1_test.o cc -o ex1_test ex1.o ex1_test.o ex2_test : ex2.o ex2_test.o cc -o ex2_test ex2.o ex2_test.o ex3_test : ex3.o ex3_test.o cc -o ex3_test ex3.o ex3_test.o 是否有一个变量可以用来表示当前目标并减少重复 谢谢 $@和$^是你的朋友。$@是
ex1_test : ex1.o ex1_test.o
cc -o ex1_test ex1.o ex1_test.o
ex2_test : ex2.o ex2_test.o
cc -o ex2_test ex2.o ex2_test.o
ex3_test : ex3.o ex3_test.o
cc -o ex3_test ex3.o ex3_test.o
是否有一个变量可以用来表示当前目标并减少重复
谢谢 $@和$^是你的朋友。$@是目标,$^是先决条件列表
ex1_test : ex1.o ex1_test.o
cc -o $@ $^
本节的GNU make文档中有更多有用的make变量。$@和$^是您的朋友。$@是目标,$^是先决条件列表
ex1_test : ex1.o ex1_test.o
cc -o $@ $^
本节GNU make文档中有更多有用的make变量。步骤1,介绍自动变量:
ex1_test : ex1.o ex1_test.o
cc -o $@ $^
ex2_test : ex2.o ex2_test.o
cc -o $@ $^
ex3_test : ex3.o ex3_test.o
cc -o $@ $^
步骤2,认识到这些规则看起来都一样,并用模式规则替换它们:
ex%_test: ex%.o ex%_test.o
cc -o $@ $^
步骤1,引入自动变量:
ex1_test : ex1.o ex1_test.o
cc -o $@ $^
ex2_test : ex2.o ex2_test.o
cc -o $@ $^
ex3_test : ex3.o ex3_test.o
cc -o $@ $^
步骤2,认识到这些规则看起来都一样,并用模式规则替换它们:
ex%_test: ex%.o ex%_test.o
cc -o $@ $^