daybodep /

Filename Size Date modified Message
2.5 KB
887 B
744 B
890 B
887 B
4.0 KB
112 B
19.2 KB
112 B
The Daybo Logic dependency program is simply a method to help out on
systems which don't support autodependencies.  Autodependencies are
good things, they mean that 'make' knows about headers that a C file
depends upon, as well as the C files and the programs and libraries
that need those C files.  Without autodependencies, often a change to
a header will not cause a rebuild, which will mean somebody will have
to rebuild the entire project!  Which could take hours depending on
the size of the project.

daybodep is a simple module.  It works like this:
  $ daybodep file1.c file2.c @responsefile > .depend
     |        |       |       |               |
     |        |       |       |               \--- Output dependencies
     |        |       |       |
     |        |       |       \------------------- Extra files
     |        |       |
     |        \----------------------------------- Source files
     \-------------------------------------------- Program

Program = The name of the program, daybodep or ./daybodep

Source files = The sources files to scan for dependencies

Extra files = If you need more source files than will fit on the command
             line.  Always start with an at sign, list files one per line.

Output dependencies = A structured list of dependencies to append to the

There are also some options, a quick reminder of the syntax and options
are available by using the option --help or just -h.

Here is a complete list (excluding help):
-v (--verbose) = Display title, copyright and processing messages.
   don't use it whilst creating a dependency.

-ver (--version) = Display program version number in the form
     MAJOR.MINOR.PATCH, patches are manually applied from the Daybo Logic
     site and may be published occasionally.  This also displays the time
     and date when daybodep was built (compiled).

-s (--system) = Normally, daybodep only creates dependencies to user
   headers "program.h", "library.h" etc.  With -s, system headers are
   explicity reference too <stdio.h>, <pthread.h>, <windows.h> etc.
   I don't recommend this as such files are not in the same directory
   and will often be broken, especially if both UNIX and Windows headers
   are referenced but only one is active at a time through a macro.
   Only headers which are always used should have dependencies though

This program is Copyright Daybo Logic.  For more information visit  It will help you build large projects.
It is not neccersary for small projects and will waste time.
There are sample Makefiles under ./examples

The normal sequence for building an autodependency aware program
is like this:

$ make depend
$ make
$ make install

make depend only has to be executed when a source file is changed to
include more files, not when a header file is edited but dependencies
don't change.

Compiling DayboDep
The support compilation platforms are Borland DOS, Borland Win32, GNU
(GNU's not UNIX type Unices) and BSD UNIX.  To compile on anything else,
compiliation will have to be done manually.

To compile for DOS using Borland C++:
C:\DAYBODEP> make -DB16 -f Makefile.bor

To compile for Win32 using Borland C++:
C:\DAYBODEP> make -f Makefile.bor

Either of these steps will create a file called daybodep.exe, copy this
to the directory you keep utilities in and then type this:

C:\DAYBODEP> make -f Makefile.bor clean

This will remove any temporary files created by compilation.

To compile for GNU type this, $ to be done as yourself and # to be done as
root (if you do not have privellege you will have to suffice with copying
daybodep to your private binary directory).

$ gmake
# gmake install
$ gmake clean

To uninstall type
# gmake uninstall

Note about GNU Make:
GNU Make is easiest to use with the current build situation.  If you do
not have GNU Make and don't wish to install it then use:
make -f Makefile.bsd instead of gmake, with will use the Makefile written
for BSD Make only.  Alternatively, force the link over to the BSD
Makefiles by typing ./ and then use make as before.