默认值:这个makefile中的类是什么意思?

问题描述:

对此的评论是“默认make目标条目”。 任何人都可以在这一行解释更多? 为什么我们在这里使用“default”而不是“all”?我可以将名称更改为我想要的任何内容吗? 谢谢!默认值:这个makefile中的类是什么意思?

JFLAGS = -g 
JC = javac 
.SUFFIXES: .java .class 
.java.class: 
     $(JC) $(JFLAGS) $*.java 

CLASSES = \ 
     Foo.java \ 
     Blah.java \ 
     Library.java \ 
     Main.java 

default: classes 

classes: $(CLASSES:.java=.class) 

clean: 
     $(RM) *.class 
+1

我们非常喜欢您将代码包含在问题中,而不是链接到它(和_especially_,而不是链接到一个.png文件,这意味着我们不能复制和粘贴来自己尝试)。你的文件只有18行,远远低于我们开始认为某人张贴了太多代码的门槛。 – ajb

+0

@ajb已经更新。对于那个很抱歉。 – Chen

单词“default”的含义是“隐含的”或“如果没有给出”。在这里,在生成文件,如果你调用

>make 

没有明确规定,在生成文件,则第一目标更新(比.开始的人除外)的目标将是。所以第一个这样的目标被称为“默认”是有道理的。是的,如果你想混淆每个人,你可以改变它。

但是,按照惯例从Make手册中,第一个目标的名称应该是all。所以alldefault好,比其他任何事都好。

另外,“default make target entry”是一个差评。正确的术语是“制定目标”,并且将其中一个命名为default的目标评为“默认”是浪费字符:)