我目前有一个makefile:
SOURCES = \
src/package1/*.java \
src/package2/*.java\
src/package3/*.java\
src/package4/*.java \
src/package5/*.java \
src/package6r/*.java \
src/package7/*.java \
src/package8/*.java \
src/package9/*.java
稍后在make文件中我有:
new:
make clean
make caller
caller: $(SOURCES) src/package1/file1.java src/package2/file3.java
javac src/package1/main.java
首先,我不断收到有关需要构建的每个文件的规则的错误。它的形式如下:
"‘No rule to make target `xxx', needed by `yyy'.’"
我在这里找到了它的说明:http://www.gnu.org/software/make/manual/html_node/Error-Messages.html以及如何在此处解决:http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_4.html#SEC26
现在,所有.class文件都在bin / package中正确创建{1,2,3,4,5,6,7,8,9} / file {1,2,3,4,5 ,6} .class location;但是,当以下命令运行时:
javac src/package1/main.java
它给出了过多的错误陈述:
error: cannot find symbol
我尝试使用-cp标志将javac命令更改为以下命令:
javac -cp src/package1/*;src/package2/*...
但它似乎并没有抓住所有依赖项,而且命令太长了。我一直在尝试很多工作,但我不确定如何使用makefile和javac命令做到最好?
我已经有一个可行的ant构建,但我特别需要这个make文件也能正常工作,
感谢您的时间! 最诚挚的问候,