在下面的示例中,当构建所有内容时,目标main-gs-universalk9-m.o似乎匹配规则1而不是规则2。在make版本3.81中,我认为顺序很重要。即使我将规则2移动到规则1之前定义,它仍然会匹配规则1。
正确的编码方式是什么,如何使其按预期工作?
正确的编码方式是什么,如何使其按预期工作?
$(info .FEATURES := $(.FEATURES))
%.o:
@echo "Rule 1 $?"
rm -f $@
cp $*.c $@
main-gs-%-m.o: file1.o file2.o file3.o
@echo "Rule 2"
cat $? > $@
binos_%_version.o:
@echo "Rule 3"
echo "Hello World" > $@
x86-%-m: main-gs-%-m.o binos_%_version.o
@echo "Rule 4"
cat $? > $@
all: x86-universalk9-m
clean:
@echo "Rule Cleaning"
rm -f *.o
rm -f x86-universalk9-m