help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Announcement: build auditing features for use with GNU make


From: David Boyce
Subject: Announcement: build auditing features for use with GNU make
Date: Thu, 29 Jul 2010 09:31:46 -0400

I hope people won't mind an announcement here of a GPL build tool
which integrates usefully with GNU make. The tool is called Audited
Objects (http://audited-objects.sourceforge.net/), written by me, and
it "injects" build auditing capabilities into the make program. This
is done at runtime, so it's not necessary to modify or rebuild make;
any place you might run "make ..." you'd just run "ao make ..."
instead to get the additional features.

AO can do many useful things but to avoid a lengthy email I'll
describe only the feature of most immediate interest to GNU make
users. The command

    % ao -f foo.md -- make

will run the same build "make" alone would, and will leave in foo.md a
complete set of dependency data in Makefile format derived by
intercepting file-open events. This technique has a number of
advantages over traditional dependency generation techniques:

- No modification of Makefiles or build scripts is required.
- AO does not need to parse any source files and thus is language- and
toolchain-agnostic.
- All build steps (not just compilation) get the same treatment.
- EVERY dependency can be enumerated, down to system headers, libc.so,
/bin/sh, etc.
- Having complete dependency information for each build step makes
parallelism more robust.

There are a number of other features offered by AO; in particular, for
those familiar with "clearmake" I'll note that it adds basically the
full suite of clearmake capabilities (winkin, catcr, etc) to GNU make
without requiring a special filesystem. But those topics are covered
on the website 
(http://audited-objects.sourceforge.net/html/man/ao-clearmake.html)
and I won't waste any more space on them here.

BTW - I delayed this announcement for a while because AO works best
with GNU make 3.82 which has just been announced. So if you plan to do
any serious evaluation, it would be best to install 3.82 first. See
http://audited-objects.sourceforge.net/html/man/ao-make.html for why.

Feedback always welcome,
-David Boyce



reply via email to

[Prev in Thread] Current Thread [Next in Thread]