如何使用 GNU Make 编译我的 Java 项目?

问题描述 投票:0回答:1

我有一个包含两个包的 Java 项目:

  • src
    • Main.java
  • lib
    • AVLTree.java
    • TreeNode.java
    • TreeVisualizer.java

我想写一个makefile,把所有的

.java
文件编译成
.class
文件,分别存入
bin/lib
bin/src
。我怎样才能写一个简单的
Makefile
来做到这一点?

我现在使用的命令是:

javac -d bin lib\* src\*
(目前在 Windows 上)

要运行,我正在使用:

java -cp bin\ src\Main.java

java makefile
1个回答
0
投票

这是一个简单的 Makefile,它应该做你想做的事:

JC = javac
JFLAGS = -d bin

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

SRCDIR = src
LIBDIR = lib
BINDIR = bin
SRCS = $(wildcard $(SRCDIR)/*.java)
LIBS = $(wildcard $(LIBDIR)/*.java)
CLASSES = $(SRCS:$(SRCDIR)/%.java=$(BINDIR)/%.class) $(LIBS:$(LIBDIR)/%.java=$(BINDIR)/%.class)

default: classes

classes: $(CLASSES)

clean:
    $(RM) $(BINDIR)/*.class
© www.soinside.com 2019 - 2024. All rights reserved.