make - reassign variable using if-then ?

Anton Shterenlikht mexas at bristol.ac.uk
Thu May 7 11:16:36 UTC 2009


On Wed, May 06, 2009 at 05:40:41PM +0200, Mel Flynn wrote:
> On Wednesday 06 May 2009 11:31:17 Anton Shterenlikht wrote:
> 
> > I'm trying to build gcc43 on alpha 6.4.
> > In /usr/ports/lang/gcc43/Makefile I have:
> >
> > # grep NOT_FOR_ARCHS /usr/ports/lang/gcc43/Makefile
> > NOT_FOR_ARCHS=  alpha ia64 powerpc
> > #
> >
> > In /etc/make.conf I have:
> >
> > .if ${.CURDIR:M*/lang/gcc43*}
> > NOT_FOR_ARCHS= ia64
> > USE_GCC=4.3+
> > .endif
> >
> > This used to work fine until some update. Not anymore.
> > The second setting is being used, i.e. the port is being built
> > with gcc43. But the NOT_FOR_ARCHS is not changed, so I have
> > to do it manually each time.
> >
> > So I tried to experiment with changing variable values withing if-then.
> 
> Your only option is overriding in /usr/portslang/gcc43/Makefile.local. This is 
> because make.conf is read *before* the Makefile and the Makefile simply 
> overrides your values. Makefile.local is read *after* the Makefile.
> csup will leave it alone, however portsnap will delete the entire directory 
> before upgrading the port, so your Makefile.local will be shot.

ok, thanks, that works, I do use cvsup.

-- 
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 928 8233 
Fax: +44 (0)117 929 4423


More information about the freebsd-questions mailing list