[Top][All Lists]
[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