This is the mail archive of the
automake@gnu.org
mailing list for the automake project.
Re: is this possible?
>>>>> "Allen" == allen <allen@gnosis.kesmai.com> writes:
Allen> voltron/lib/voltron/
Allen> voltron/lib/voltron/pdus/
Allen> voltron/lib/voltron/datatypes/
Allen> voltron/lib/voltron/server/
Allen> voltron/lib/voltron/server/pdus/
Allen> libvoltron has source files in the pdus/, datatypes/, server/
Allen> and server/pdus/ directories. From the lib/voltron/ directory I
Allen> need to descend into these directories and build all source
Allen> files and create the library in the lib/voltron/ directory
Allen> itself. When I run automake I get the following:
Allen> automake: Makefile.am: not supported: source file
Allen> `$(top_srcdir)/pdus/src/AlertMsgPDU.cpp' is in subdirectory
This is a limitation in the currently released automake.
The version in the cvs repository attempts to lift this restriction.
If the base names of your files don't overlap (no lib/foo.c and
bar/foo.c for instance) then you can just write a naive
lib/voltron/Makefile.am; the objects will be put into lib/voltron.
Otherwise you'll have to put "subdir-objects" into AUTOMAKE_OPTIONS.
In this case the objects will be built in the subdirs.
This code isn't heavily tested and doubtless has bugs. Still, give it
a try.
Allen> On a side note, where could I look in the docs on how to create
Allen> new targets (such as Rational Purify/Quantify and Parasoft
Allen> Insure++) Purify and Quantify require that the linking be done
Allen> with their provided tools, so CXX must be changed at link
Allen> time. Insure++, OTOH, requires that all object files be built
Allen> with their tools.
I don't recall seeing anything like this mentioned on the list.
For insure you could add a new configure option that sets CXX to
"insure $(CXX)" (or whatever).
Or you could do something like this:
insure: mostlyclean
$(MAKE) CXX="$(INSURE) $(CXX)"
This is ugly, but it would work.
For Purify you can do better:
noinst_PROGRAMS = whatever.purify
whatever_purify_SOURCES = $(whatever_SOURCES)
whatever_purify_LINK = $(PURIFY) $(LINK)
Allen> Can anyone suggest where I might find the necessary info. The
Allen> automake manual leaves a lot to be desired.
It sure does. Rewriting it is on the to-do list.
T