We let PBS know that .java and .txt files are considered source code.
We declare a rule to match the all target. This is a conveniance rule as we could build all classes directly from the command line.
Rule jar-dist matches a target named classes.jar and declares a dependency to a matching .class file and Manifest.txt file.
Rule classes matches any taget that ends with .class and declares a dependency to a matching .java file.
The javac command is passed the path of the file to build and the .java file.