在mac os中Makefile“没有规则来制作目标”错误

时间:2014-07-18 23:44:10

标签: java makefile

我有以下目录:

enter image description here

从lab01运行make时出现以下错误。

No rule to make target 'student/Student.java', needed by 'student/Student.class'. Stop.

创建了Human.class文件,但随后出现错误。

这是我的makefile:

make: Human.class student/Student.class teacher/Teacher.class Lab01.class

Lab01.class: Lab01.java
    javac Lab01.java

teacher/Teacher.class: teacher/Teacher.java
    javac teacher/Teacher.java

student/Student.class: student/Student.java
    javac student/Student.java

Human.class: Human.java
    javac Human.java

clean:
    del Lab01.class
    del teacher/Teacher.class
    del student/Student.class
    del Human.class

我之前从未使用过makefile,所以我不确定导致错误的原因。有任何想法吗?我正在使用mac os x,如果重要的话。

感谢。

1 个答案:

答案 0 :(得分:1)

您正在从lab001目录运行命令。

路径student/Student.java在该位置无效。

您需要将makefile移动到toplevel目录(并将lab001添加到Human.javaHuman.class条目)或使用../student/Student.java../student/Student.class

还有很多其他的事情可以用来改进这个makefile,但那些是你问题的根源。