4

我有一个用 eclipse 创建的项目。现在我想将这个项目复制到我的 linux 计算机上,以便在那里编译和运行它。

为此,我想创建一个用于自动编译和运行的生成文件。

我已经创建了一个 makefile,它可以编译我的项目。但是现在它应该在编译后启动我的程序,我不知道如何制作它。

我想输入“make”,它应该编译源代码,然后它应该自动启动我的 main。现在我有一个执行以下操作的 shellscript。

make
java Main

我已经尝试运行“make run”,但出现错误。

No rule to make target 'Main', needed by 'run'.

这是我的 Makefile。

JFLAGS = -g
JC = javac
JVM= java
FILE=
.SUFFIXES: .java .class
.java.class:
    $(JC) $(JFLAGS) $*.java
CLASSES = \
    Main.java \
    Class1.java \
    Class2.java \
    Class3.java \
    Class4.java

MAIN = Main

default: classes

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

run: $(MAIN).class
    $(JVM) $(MAIN)

clean:
    $(RM) *.class
4

1 回答 1

4

您需要添加classes而不是Main.class作为 run 的依赖项,因为您没有为 定义规则Main.class,即这应该有效:

run: classes
    $(JVM) $(MAIN)
于 2013-04-29T19:54:33.933 回答