In this paper we present a new approach to writing Makefiles and a system called maker which helps in this process. Our main goals are: ease the process of writing user Makefiles, reuse variable and rule definitions, handle common tasks automatically (dependency tracking, preparation of code and environment for testing or debugging) and provide support for software development on heterogeneous environments (automatic creation of targets in a specific build tree for each architecture while working in the source tree; use of appropriate compiler name, flags and libraries; preparation of environment variables for finding libraries and programs).
José R. Herrero, Juan J. Navarro