每个人
老实说,我对makefile不太了解...在我的作业中,描述是我们必须为GNU make开发一个Makefile来构建我们的程序。例如,命令行
make
mipsim -v < test1.cmd > test1.log
将构建ISS(我们制造的MIPS模拟器),然后以调试输出(由于“ -v”)运行它,从文件test1.cmd中获取输入命令,并将结果写入test1.log。
我的程序必须将-v,test1.cmd和test1.log读取为可能在主函数中的String [] args的三个参数。我不知道该如何实现...
我已经完成了程序,但是我不知道如何使上述事情发生。到目前为止,我所知道的是可能制作了一个调用Java程序的包装Shell脚本...
我也检查了很多关于makefile的信息...
JFLAGS = -g
JC = javac
.SUFFIXES: .java .class
.java.class:
$(JC) $(JFLAGS) $*.java
CLASSES = \
A.java \
mipsim.java
default: classes
classes: $(CLASSES:.java=.class)
clean:
$(RM) *.class
我知道这个makefile文件只会从.java文件中生成.class文件。但是,我该如何制作包装器外壳脚本……我不知道……
谢谢
如果您位于使用问题中显示的makefile创建类文件的目录中,则可以执行以下几行,并假设它们main
位于class中mipsim
:
java mipsim -v <test1.cmd >test1.log
您的static void main(String[] args)
方法必须具有访问权限args[0]
才能获得该选项-v
。
用于执行此操作的包装程序外壳脚本可能如下所示
#! /bin/bash
file=$1
java mipsim -v <$file.cmd >$file.log
调用此文件mipsim
,设置其执行许可权位并将其存储在同一目录中。要调用,请键入,例如
./mipsim test1
./
除非用户碰巧在其PATH中拥有此目录(否则,否则不应该具有),否则必须使用首字母缩写。另外,最好在cmd和日志文件之间建立硬连接的文件名关系-否则用户将输入错误,破坏旧的输出等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句