[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Defining variables shared between Makefile.am files
From: |
Ralf Wildenhues |
Subject: |
Re: Defining variables shared between Makefile.am files |
Date: |
Wed, 7 Oct 2009 22:37:21 +0200 |
User-agent: |
Mutt/1.5.20 (2009-08-09) |
Hello,
please don't top-post, thanks.
* vicious3030 wrote on Fri, Oct 02, 2009 at 11:29:34PM CEST:
> Ralf Wildenhues wrote:
> > You can either
> > AC_SUBST([thirdPartyPath], [/home/blah/third])
> >
> > in configure.ac, or have a common fragment that you
> > include fragment.am
> >
> > in each Makefile.am.
> >
> > I suggest using the former, and also making the path configurable/
> > overridable. Fixed paths are likely going to be wrong on your users'
> > systems.
> How do I make the variable "configurable"?
For example with --with-<package> or --enable-<feature> options; see
info Autoconf "External Software"
info Autoconf "Package Options"
> Additionally, is there a way I can call a shell command during the build:
> specifically, due to typos there are a number of "*.H" as opposed to "*.h"
> rather than fixing that issue I'd like to simply make a rule like:
> typofile.H: typofile.h
> ln -s typofile.h typofile.H
> This would have to be defined in the Makefile.am right?
Yes. You can write normal make rules in a Makefile.am file; they will
be copied into the Makefile.
Your proposed rule above has two problems: If you (or a user of your
package) uses a VPATH build (see info Automake "VPATH Builds"), the
source will not be right for non-generated headers; you need to prefix
typofile.h with '$(srcdir)/'.
Another problem occurs when your package is to be compiled on file
systems that are case-insensitive. If I were you, I'd simply correct
the typos in the source files.
HTH.
Cheers,
Ralf