automake-patches
[Top][All Lists]
Advanced

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

Re: magic variables for included fragments


From: Akim Demaille
Subject: Re: magic variables for included fragments
Date: Wed, 03 Dec 2008 14:58:22 +0100
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.95 (gnu/linux)

>>> "RW" == Ralf Wildenhues <address@hidden> writes:

 > * Ralf Wildenhues wrote on Sun, Oct 12, 2008 at 10:46:06PM CEST:
 >> 
 >> I'll follow up on automake-patches with a patch to test.

 > Here we go.  WDYT?

Hi Ralf,

Sorry I did not answer before.

In other projects I'm involved in we store in candidates/ branches
that contain patches under discussion.  That makes it easier to try,
experiment etc.

Could you please push this somewhere?  Thanks!


 > @@ -9151,6 +9169,70 @@ condition applies to the entire contents of that 
 > fragment.
 >  Makefile fragments included this way are always distributed because
 >  they are needed to rebuild @file{Makefile.in}.
 
 > address@hidden $(AM_SUBDIR)
 > address@hidden $(AM_PREFIX)
 > address@hidden $(AM_CANON)
 > address@hidden $(AM_REVERSE)

This is really excellent news, it will vastly simplify some Makefiles.
It will also solve a problem I have found several times: if you share
some directories in different projects (typically using svn externals
or git sub modules), then it is basically impossible to put them at
different places in the packages: they should always be at a fixed
path from the top of the package.  Otherwise too many things go wrong
(especially the creation of .deps btw: automake does garbage if you
include a local.mk which defines foo_SOURCES = $(prefix)/foo.cc: it
creates '$(prefix)/.deps', and I really mean single quotes: the very
string '$(prefix)' not interpolated (which it can't, of course)).

I confess that I like that facets of a single thing keep a common root
in the names: AM_SUB_REL, AM_SUB_PREFIX, AM_SUB_CANON, AM_SUB_REV or
something.  But of course concision does matter.

 > address@hidden
 > +bin_PROGRAMS += $(AM_PREFIX)foo
 > +$(AM_CANON)foo_SOURCES = $(AM_PREFIX)foo.c $(AM_PREFIX)foo.h
 > +$(AM_CANON)foo_CPPFLAGS = -I$(AM_SUBDIR) -I$(AM_PREFIX)include
 > address@hidden example

Great!




reply via email to

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