Using make tools with javac

You can use make tools with the javac compiler.

Although javac handles dependency analysis well, using javac by itself misses rebuilds that a make tool does not. Specifically, make detects modifications of indirect dependencies that javac does not. If A.java depends on B.java and B.java depends on C.java, when you change C.java, the command javac A.java does not rebuild C.class. Therefore, if you are using javac directly, you must recompile each file as you change it.

Many Java applications have some components that are compiled natively or are written in another language. For at least those parts of their applications, developers need makefile-based building.