如何创建一个使用命令行参数编译和运行java代码的Makefile?

soc*_*100 5 java executable makefile compilation

我需要能够编译我的程序,然后每次使用不同的.txt文件作为第一个命令行参数执行它3次,这一切都需要使用单个"make"命令完成.我希望Makefile做的各个终端命令如下:

javac MainDriver.java FSA.java State.java Transition.java
java MainDriver test1.txt
java MainDriver test2.txt
java MainDriver test3.txt
Run Code Online (Sandbox Code Playgroud)

这是我现在拥有的:

JC = javac
JCR = java

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

CLASSES = \
    MainDriver.java \
    FSA.java \
    State.java \
    Transition.java 

default: classes

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

clean:
    $(RM) *.class *~
Run Code Online (Sandbox Code Playgroud)

Tux*_*ude 2

JC = javac
JCR = java

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

CLASSES = \
    MainDriver.java \
    FSA.java \
    State.java \
    Transition.java 

TXT_FILES = \
    test1.txt \
    test2.txt \
    test3.txt \

default: classes exec-tests

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

clean:
    $(RM) *.class *~

exec-tests: classes
    set -e; \
    for file in $(TXT_FILES); do $(JCR) MainDriver $$file; done;


.PHONY: default clean classes exec-tests
Run Code Online (Sandbox Code Playgroud)