dmake Stories

At work, we started using dmake in 1991 (or even earlier) for building the firmware for the Vending Machine Controller Euro’90. The firmware consisted mostly of PL/M and C code and the compilers suffered from the DOS limitation of 127 characters per command line. Dennis Vadura’s dmake 3.70 (hosted by the University of Waterloo and available as DOS version) featured the $(mktmp ) macro that let me create any needed temporary config and response files.

Later we kept using dmake for the software for our DIVA and CCI/CSI interface families. The build system had grown quite complex and the makefiles made heavy use of the percent pattern rules and delegation to makefiles in other directories.

A couple of years ago, when I first tried to define a target that builds everything (several firmware variants, debug and release builds), I encountered a strange error from dmake:

dmake.exe:  Error: -- Unable to change to directory `xy?', target is [sub-b]

The latest release then (dmake 4.1) was labeled as “final free release”; the last dmake homepage from Dennis Vadura (, online ca. 2001), once tried to sell “dmake Gold”, but was already unreachable at this time. As the days of open source dmake seemed over, I was hesitating to invest time finding bugs and thought that we would move soon to another build system anyway.

Recently (we’re still using dmake…) I have learned that has “adopted” dmake and resumed its development. This gave me the energy to finally hunt down this bug: a dangling pointer.

Until my fix is integrated into a future dmake release, you can get the patch from the OpenOffice Issue Tracker.

This entry was posted in Hug-Witschi, Programming. Bookmark the permalink.

Comments are closed.