Makefile,用于编译子目录中的源代码并将其放在另一个子目录中

时间:2014-08-29 23:19:45

标签: java makefile

这是我的程序结构:

主目录:

Makefile  
src/
bin/

我希望能够编译/ src目录中的文件,并将后续的.class文件放在/ bin目录中。

这是我到目前为止所做的:

BIN = ./bin/
SOURCE = ./src/

LIST = $(BIN)ContactBook.class

all: $(LIST)

$(BIN)%: $(SRC)%.java
    javac -d $(BIN) $<

1 个答案:

答案 0 :(得分:0)

您的规则不正确,您想将.java个文件编译成.class个文件,目前没有规则来处理此问题。

SRC := $(wildcard src/*.java)
OUT := bin

LIST := $(SRC:src/%.java=$(OUT)/%.class)

all: $(LIST)

$(OUT)/%.class: src/%.java | $(OUT)
    javac -d $| $<

$(OUT):
    @mkdir $@