0
我有大量的文件需要編譯,這些文件位於2個目錄中,我希望make可以自己找到這些文件。Java Makefile:如何動態編譯包內的文件
我在互聯網上找到的所有教程都顯示瞭如何在當前目錄中執行此操作,但不在其他目錄中。 這裏是我目前擁有的代碼:
JFLAGS = -g
JC = javac
# clear default targets
.SUFFIXES: .java .class
# compile files
.java.class:
$(JC) $(JFLAGS) $*.java
# directories to look for java files
PACKAGES := \
Core \
Card \
# Initialize CLASSES with main.java
CLASSES := main.java
# I have no clue how this works, but someone told me to do it.
.PHONY: default clean $(PACKAGES)
# should add all java files to CLASSES
$(PACKAGES):
$(eval CLASSES := $(CLASSES) [email protected]/*.java)
# calls sources builder and compiler
default: $(PACKAGES) classes
# calls compiler for each file
classes: $(CLASSES:.java=.class)
clean:
$(foreach DIR,$(PACKAGES),$(eval $(RM $(DIR)/*.class)))
正如你所看到的,我試圖通過迭代,並通過規則訪問目錄,但沒有這些方法的工作。
make clean
給我nothing to be done for clean
和make
給我nothing to be done for Core
即使核心是充滿了Java文件,具有.class文件戰略地位。
我該如何解決這個問題?
我所用的基礎makefile文件可以在http://www.cs.swarthmore.edu/~newhall/unixhelp/javamakefiles.html