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, awk and perl 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:
VERBOSE;
REPORT;
DEBUG;
SHOW_RULES.
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.
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.