You either list all the source files separately, or use the wildcard directive in the Makefile to automatically match the files.
Also from your comments, it looks like the package names for java files are: edu.osu.lispinterpreter.* .
Therefore, I would suggest moving the Makefile to the src directory and making these changes to the Makefile.
CLASSES := $(wildcard edu/osu/lispinterpreter/tokenizer/*.java) CLASSES += $(wildcard edu/osu/lispinterpreter/core/*.java) CLASSES += $(wildcard edu/osu/lispinterpreter/output/*.java) CLASSES += $(wildcard edu/osu/lispinterpreter/exceptions/*.java) CLASSES += edu/osu/lispinterpreter/input/InputParser.java CLASSES += edu/osu/lispinterpreter/input/ReadInputString.java
The java compiler should be able to select class definitions from other packages if the package name matches the directory structure without writing explicit dependencies to the Makefile .
source share