Java 使用Makefile在目录中搜索依赖项

Java 使用Makefile在目录中搜索依赖项,java,compiler-construction,compilation,makefile,gnu-make,Java,Compiler Construction,Compilation,Makefile,Gnu Make,我目前有这样一个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:

我目前有这样一个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'.’"
我在这里找到了它的描述:以及如何解决它:

现在,正在bin/package{1,2,3,4,5,6,7,8,9}/file{1,2,3,4,5,6}.class位置中适当地创建所有.class文件;但是,当运行以下命令时:

    javac src/package1/main.java
它给出了大量错误,说明:

     error: cannot find symbol
我已尝试使用-cp标志将javac命令更改为以下命令:

  javac -cp src/package1/*;src/package2/*... 
但是它似乎没有抓住所有的依赖项,而且命令太长了。我已经尝试了很多解决方法,但我不确定如何最好地使用makefile和javac命令来实现这一点

我已经有一个ant构建可以工作,但是我特别需要这个make文件也可以工作

谢谢你抽出时间!
致以最诚挚的问候,

Ugh,用Make?耶@OliCharlesworth构建Java。OP可以用一个名为“build.sh”的shell脚本构建Java,更不用说长的类路径了,我已经使用了很多丑陋的类路径。这就是剧本应该处理的,不是吗?