运行期间采用文件名的java程序的Makefile

运行期间采用文件名的java程序的Makefile,java,file-io,makefile,Java,File Io,Makefile,我一直在Ubuntu终端上编译和运行我的程序,如下所示: javacev.java java xyz.class文件_name.txt 我该如何为此创建makefile 我读过一些教程,但它们没有提到包含文件的情况,坦白地说,我对它们没有太多的理解 到目前为止,我的Makefile: all : build run build : javac ev.java run : java xyz.class 不,我不想使用ant、maven等,只使用Makefile。为了使这成为一个完整的示例,请从一

我一直在Ubuntu终端上编译和运行我的程序,如下所示:

javacev.java

java xyz.class文件_name.txt

我该如何为此创建makefile

我读过一些教程,但它们没有提到包含文件的情况,坦白地说,我对它们没有太多的理解

到目前为止,我的
Makefile

all : build run
build : javac ev.java
run : java xyz.class

不,我不想使用ant、maven等,只使用Makefile。

为了使这成为一个完整的示例,请从一个基本的Java程序开始,如
Hello.Java

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
然后我们将创建一个
Makefile
;我们希望运行
Hello.class
(而
Hello.class
取决于
Hello.java
)。让我们添加一个编译器
OPTS
变量和一个
CLASSPATH
变量(在本例中,我们只使用
并启用调试)。请注意,
make
给出了制表符(以及变量赋值中的空格)的语义含义,本例包含制表符

CLASSPATH = .
OPTS = -g
run: Hello.class
    java -cp $(CLASSPATH) Hello

Hello.class: Hello.java
    javac $(OPTS) -cp $(CLASSPATH) Hello.java

clean:
    rm -f Hello.class

纯代码编写(和makefile编写)请求与堆栈溢出无关——我们希望这里的问题与特定的编程问题有关——但我们很乐意帮助您自己编写!告诉我们,你被困在哪里了。这也将帮助我们更好地回答您的问题。添加了我迄今为止的工作。