This is the mail archive of the automake@gnu.org mailing list for the automake project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]