smake is a highly portable 'make' program that makes commands up to date based on rules in Makefiles and on the timestamps of the related files. It implements a complete superset of the features of the classical POSIX/Unix make program. It warns about typical misuse of dynamic macros that prevent portability of makefiles. Its automake features allow you to run scripts to automatically create rules for unknown platforms.
Free Java is a development environment designed to help beginners write Java programs. Its editor includes syntax highlighting and an undo/redo function. It features a structure panel and a file browser. Compiling and running a program can be done with the push of a single button, and compiler errors are shown clearly. There is also a virtual console to show a program's console output. Free Java is based on J2SDK 1.3.
Makefiles is a high-level build system and suite of portability tools. It is meant to be easier to use than autoconf and generally superior. The package contains a set of rules that allows you to compile structured projects with small and uniformly structured makefiles. All rules are located in a central directory. Compiling the projects on different platforms can be done simultaneously without having to modify any of the makefiles that are located in the projects directories.