Java 如何在使用Makefile运行程序时添加命令行参数?

Java 如何在使用Makefile运行程序时添加命令行参数?,java,makefile,compilation,Java,Makefile,Compilation,我在java中有以下主要类,我在其中通过命令行传递参数: public class Main { public static void main (String [] args) { Conversion c = new Conversion(); c.convertHPP(args[0], args[1]); c.convertCPP(args[0], args[1]); } } 我有一个Makefile,通过选项makerun

我在java中有以下主要类,我在其中通过命令行传递参数:

public class Main {
    public static void main (String [] args) {
        Conversion c = new Conversion();
        c.convertHPP(args[0], args[1]);
        c.convertCPP(args[0], args[1]);
    }
}
我有一个Makefile,通过选项make
runjava
我运行程序:

JFLAGS = -g
JC = javac

.SUFFIXES: .java .class

.java.class:
    $(JC) $(JFLAGS) $*.java

CLASSES = \
          Main.java \
          Conversion.java \
          Book.java

make-java: classes

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

run-java:
    java Main
    
clean:
    $(RM) *.class 
我要做的是将命令行参数(argv)从makefile传递到main,argv是要转换的文件的名称。我想在航站楼做一些类似的事情:

make java-run arg1 arg2
如何更改Makefile,使
运行java:
可以允许我传递参数并将其发送到main

谢谢

使用变量:

make run-java ARGS="arg1 arg2"
然后在makefile中:

run-java
    java Main $(ARGS)
这可能会有帮助。