为多目录项目创建文件

时间:2015-09-10 02:11:41

标签: java macos makefile javac

我正在尝试为一个java项目做一个makefile,它几乎编译整个项目并将编译后的文件放在bin目录中。这是我的文件架构: file architecture

这是我在根目录下的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命令时,我收到此错误:

error message

如何从项目的根目录运行make all命令?

1 个答案:

答案 0 :(得分:1)

sourcefiles = \
MessageMondial.class \
Bonjour.class

应该是

sourcefiles = \
MessageMondial.java \
Bonjour.java

但我也建议您使用maven,ant,gradle或sbt而不是make。 Make不是用于构建Java项目的工具。