A Software Tool for Maintaining File and Macro Build Dependencies

Document Type


Publication Date





Translating each of a UNIX software system's source files into an object file, and linking the object files into an executable file, can be a time-consuming process. Object file generation accounts for most of this time. Tools that recognize and avoid unnecessary object file regeneration are very popular. Many such tools are named MAKE.

A software system often contains a parameter file. A parameter file is a source file, textually included by every other source file, which defines macros shared by multiple source files. Each object file depends on the parameter file, according to file dependencies. MAKE-like tools only understand file dependencies. So, when a software developer changes a macro in a parameter file, every object file is regenerated, regardless of whether its corresponding source file actually refers to the changed macro.

Unnecessary object file regeneration can be avoided by replacing some file dependencies with macro dependencies, which express that an object file depends on a macro.

DEP is a tool implementing a method for automatically detecting and maintaining a software system's file and macro dependencies. DEP works with any flavour of MAKE to minimize the cost of rebuilding an executable file.