2014-10-27 35 views
0

我想编译一个makefile来编译linux上的一个java类。我做了一个makefile,如下:***多个目标模式。停止

JFLAGS = -g 
JC = javac 
.SUFFIXES: .java .class 
.java.class: 
    $(JC) $(JFLAGS) $*.java 
CLASSES = \ 
    des.java \ 
default: classes 
classes: $(CLASSES:.java=.class) 
clean: 
    $(RM) *.class 

这给了我错误的Makefile:9:***多个目标模式。停止。 我哪里错了? 谢谢。

回答

1

des.java \行上有一个杂散的行连续标记。

这导致make将值des.java default: classes分配给CLASSES变量。

当make然后在classes: $(CLASSES:.java=.class)行上展开时,它会看到多个冒号并且感到困惑。

+0

非常感谢!没有注意到。该错误已修复。现在我得到了“没有规则来制作'des.class',这是'classes'需要的。我是java的makefile的新手,你知道如何解决这个问题吗? – AHalbert 2014-10-27 16:47:34

+0

你有一个'des.java'文件吗?你目前的目录?如果你这样做应该工作。 – 2014-10-27 16:53:27