我正在尝试为一个java项目创建一个makefile,它几乎编译了整个项目并将编译后的文件放在bin目录中。这是我的文件架构:
这是我在根目录的 makefile :
BIN=./bin/
SOURCE=./src/
all:
cd src; make
clean:
rm -f $(BIN)*.class
这是我在 src 目录中的 makefile :
BIN=../bin/
sourcefiles = \
MessageMondial.class \
Bonjour.class
classfiles = $(sourcefiles:.java=.class)
all: $(classfiles)
$(BIN)%.class: /src/%.java
javac -d $(BIN) -classpath . $<
如果我进入 src 目录并运行 make all 命令,所有内容都会被编译并按应有的方式放入 bin 目录中。
但是,当我从项目的根目录运行 make all 命令时,出现此错误:
如何从项目的根目录运行 make all 命令?
最佳答案
这个
sourcefiles = \
MessageMondial.class \
Bonjour.class
应该是
sourcefiles = \
MessageMondial.java \
Bonjour.java
但我还建议您使用 maven、ant、gradle 或 sbt 而不是 make
。 Make 不是一个为构建 Java 项目而设计的工具。
关于java - 为多目录项目制作文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32491978/