我正在尝试为一个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命令?
答案 0 :(得分:1)
此
sourcefiles = \
MessageMondial.class \
Bonjour.class
应该是
sourcefiles = \
MessageMondial.java \
Bonjour.java
但我也建议您使用maven,ant,gradle或sbt而不是make
。 Make不是用于构建Java项目的工具。