automake
[Top][All Lists]
Advanced

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

Re: test/Makefile.am: required file `gnuscripts/compile' not found


From: Ralf Wildenhues
Subject: Re: test/Makefile.am: required file `gnuscripts/compile' not found
Date: Wed, 30 Dec 2009 22:37:38 +0100
User-agent: Mutt/1.5.20 (2009-10-28)

Hi Adam,

* Adam Mercer wrote on Wed, Dec 30, 2009 at 11:57:27AM CET:
> On one of my projects I'm running into an issue, only on certain
> platforms, where the compile script isn't available. e.g. on CentOS 5
> 
> $ autoreconf
> test/Makefile.am: required file `gnuscripts/compile' not found
> autoreconf: automake failed with exit status: 1
> $
> 
> yet I have other projects, on the same platform, that don't require
> the compile script to be available. AFAICT the compile script is for
> systems where the the compiler doesn't understand "-c -o". This
> therefore leads me to the question why does the compiler not
> understand "-c -o" in this package but it does in others?

The rules generated by Automake may or may not need to use the -c and -o
options at the same time.  This depends upon a few internal details:
whether the subdir-objects option is used, whether objects need to be
renamed due to per-target compile flags, etc.

Even in packages where the `compile' script is not deemed necessary, the
rules might use '-c -o' if configure determined that GCC is used; that
compiler is always assumed to allow this option combination.

> The
> test/Makefile.am to which the above error refers is attached. Is there
> anything in this that explains why it wants the compile script?

I cannot see anything in the Makefile.am that would need -c -o.

Note that for library dependencies that apply to all programs in a
makefile you can use the "global" LDADD variable, which may allow you to
remove most if not all of those per-target *_LDADD settings.

Note further that the default set of sources for a program foo is foo.c
(and Automake 1.11+ allows you to change the default source file
extension to, say, .cpp, too), so you don't need to explicitly set most
of those *_SOURCES variables either.

> PS: I simple solution would be to just put an appropriate version of
> the compile script in the gnuscripts but I would like to understand
> why it is needed in this case, and not in others.

Sure.  Hope this helps.

Cheers,
Ralf




reply via email to

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