automake
[Top][All Lists]
Advanced

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

Re: redirecting produced files


From: Ralf Wildenhues
Subject: Re: redirecting produced files
Date: Mon, 28 Aug 2006 09:55:09 +0200
User-agent: Mutt/1.5.12 (2006-08-10)

Hello Isajha, Stefan,

* Stefan Puiu wrote on Mon, Aug 28, 2006 at 09:12:02AM CEST:
> On 8/26/06, Isajha <address@hidden> wrote:
> >
> >Makefile.am
> >    bin_PROGRAMS = helloworldlinux client
> >    helloworldlinux_SOURCES = ../../src/helloworldlinux/HelloWorldLinux.cpp
> >    client_SOURCES = ../../src/client/MainLinux.cpp

This looks very suspicious.  You should have the Makefile.am file in the
same directory (or directory tree) as the source files.  So something
like
  bin_PROGRAMS = helloworldlinux client
  helloworldlinux_SOURCES = helloworldlinux/HelloWorldLinux.cpp
  client_SOURCES = client/MainLinux.cpp

would look much better.  And create the configure.ac file in that same
directory, too.

> >I do not want these files within the source directory nor in the directy
> >of the makefile - the executable should be in

Please get familiar with the GNU build concept of three different
directory trees: the source tree (the one where all the files are
which you write manually; usually at the top directory there is a
configure.ac file, and this tree has one or more Makefile.am files).
Tools like autoconf, automake, or autoreconf are run within this
source tree.

Then the build tree: that's a (possibly) different tree _from where_
you execute the configure script.  This tree will hold for example
all Makefiles, and all files created by a compiler: object files,
libraries, programs.  You can have several build trees for one
project at the same time.

Then the install tree: where programs and libraries (and possibly
more) will be copied to by
  make install

The paths for the install tree are chosen by arguments to `configure',
for example --prefix, or --bindir.  By default, installed files will
live below /usr/local.

Once you've grasped this concept, choose whether this:

> >"../../bin/[os]/[compiler]/[debug/release]"

should be a build tree or an install tree; it sounds like you want
the former.

The next Automake release will have an introductory chapter covering
this better than the current documentation does; but still, it has all
the gory details.  And there's a nice tutorial:
http://www-src.lip6.fr/homepages/Alexandre.Duret-Lutz/autotools.html

Cheers,
Ralf




reply via email to

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