The make utility was written by Stu Feldman  in the mid 1970's to automate the process of target generation based on modification of dependency files. Since that time, enhancements to make have been few in number, and limited to rule specification language enhancements.
In recent years, computing power has moved from large, centralized timesharing systems to high-powered workstations connected by high-speed local area networks. The proliferation of individual workstations on user desktops resulted in efforts to provide effective ways to combine and realize their aggregate power. The computing power of these workstations lies unharnessed when users are either inactive or performing non-CPU intensive tasks. As a result, many potentially useful CPU cycles pass by unutilized. Several projects have attempted to extend make to utilize these distributed computational resources. However, most of efforts are fairly non-portable, either because they are operating system dependent, rely on specialized transport protocols , or require rewriting of configuration files. pgmake consists solely of modifications to the job distribution mechanism within GNU make, and provides the exact same operational semantics with which users of GNu make are already familiar.