automake
[Top][All Lists]
Advanced

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

Re: source code in several directories


From: Bernd Jendrissek
Subject: Re: source code in several directories
Date: Wed, 12 Sep 2007 11:10:46 +0200

On 9/11/07, address@hidden
<address@hidden> wrote:
> 1 - initially I tried to put only this: include_HEADERS = foo.h bar.h in
> include/Makefile.am.... I thought it would work but it did not... when I
> ran make it compiled everything ok in the src dir but complained about
> 'nothing to do for all-am' in the include dir.

That's quite correct - your headers are up to date and make doesn't
need to do anything.  In other words, "nothing to do for all-am" is
not a complaint; that's just make telling you why it didn't appear to
do anything.

> This is probably because
> automake did not generate Makefile.in, and configure did not generate a
> Makefile.... any ideas if this is the correct approach ??? and why a
> Makefile was not generated at all in the include dir ????

If you have include/Makefile in AC_OUTPUT_FILES() then automake should
generate include/Makefile.in.

> 2 - I tried putting include_HEADERS = $(srcdir)/../include/foo.h, remove
> the include declaration dir from the top-level Makefile.am .... and it
> worked just fine....
>
> I was expecting there would be a way to declare include_HEADERS right in
> the include/Makefile.am ??? that way I wouldn't have to declare the
> relative paths to the HEADERS in the src/Makefile.am ??? any comments....

Ah.  If you want a non-recursive makefile, you want this in
$(top_srcdir)/Makefile.am:

include_HEADERS = include/foo.h include/bar.h

If instead you want per-subdirectory makefiles, you want this in
include/Makefile.am:

include_HEADERS = foo.h bar.h

I'm not sure what failure you are still seeing though?  Can you run
'make DESTDIR=/tmp/foo install' and see if your headers are installed
in the /tmp/foo stagin area?




reply via email to

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