【发布时间】:2015-11-09 14:12:44
【问题描述】:
使用 cygwin 从一个名为 memsim.java 的 java 文件中创建一个 make 文件。 makefile 名为 makefile.txt,其内容为
JFLAGS = -g
JC = javac
.SUFFIXES: .java .class
.java.class:
$(JC) $(JFLAGS) $*.java
CLASSES = \
Memsim.java
default: classes
classes: $(CLASSES:.java=.class)
clean:
$(RM) *.class
我的命令是
make -f makefile.txt
但是我没有得到一个“make”文件。相反,它为每个名为 (file).class 的类创建一个文件(文件是类名)。
使用 jdk1.7.0_51 中的 javac。
编辑:我所要求的只是如何编写一个文件,该文件将生成一个名为“make”的文件,该文件将编译和运行文件 Memsim.java。任何关于我在哪里可以找到答案的信息或链接都会很棒。
【问题讨论】:
-
not getting a single "make" file是什么意思?如果您调用make,它将执行make 文件中定义的步骤。在您的情况下makefile.txt,正如您使用选项-f指定的那样。 -
好的,我明白了,这是我的第一个 java makefile,所以我猜这个教程有误导性。你知道我必须在 makefile 中进行哪些更改才能获得一个运行 Memsim.java 的 make 文件吗?或者你知道我在哪里可以找到方法吗?我到处都用谷歌搜索过
-
为什么你不使用,例如:maven,你的项目?使用
make有什么限制? -
暂且不说Java,你明白make的目的吗?然后正如 SubOptimal 指出的那样,有类似的 Java 式解决方案,例如 Ant、Maven 或 Gradle,可能更适合您。
-
这个makefile告诉make为
CLASSES变量中的每个.java文件创建一个.class文件。如果你想要更多,那么你还需要告诉 make 这些步骤。