Chapter 9. Developing and Debugging Dno

If you want to hack on dno, feel free. The dno executable is a self-executing Makefile and aims to be well commented.

The various helper tools (see the man page appendices) are all shell and awk scripts, and again should be either well-enough documented, or simple enough that they are relatively easy to work on.

To get started with hacking on dno you should familiarise yourself with its debug variables which provide various degrees of feedback:

The real key to understanding dno, is the ALL_BUILD_RULES macro. When you understand how this is used, along with the way that make restarts when dependency files (included makefiles) are updated, then you will get dno.

9.1. On clones/forks, autotools and configure

Once you have pulled, cloned or forked dno, you only need to run ./configure once. After that, you can just run make and make will figure out when aclocal, autoconf and ./configure need to be run.

make cannot figure this out for itself in a freshly cloned/pulled directory as file timestamps are not preserved (as far as I can tell - MM) by git.