In Listing 20.1, the compile target depends on the prepare target; thus, the prepare target is executed before the compile target. The prepare target uses the mkdir task to create the directory /tmp/prepare. Then, the compile target executes the javac task to build the Java source files contained in the ./src directory.