Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 May 2006 18:08:37 -0500
From:      Andrew <andrew.chace@gmail.com>
To:        Parv <parv@pair.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Makefile and '$(addprefix)'
Message-ID:  <1148339317.2572.15.camel@LatitudeFC5.network>
In-Reply-To: <20060522224521.GA7373@holestein.holy.cow>
References:  <1148335671.2572.10.camel@LatitudeFC5.network> <20060522224521.GA7373@holestein.holy.cow>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello,

You are correct; I am using GNU make, err, rather, trying to, at least.
Found a typo that fixed part of the problem: $(addprefix, PREFIX, ITEM)
should be $(addprefix PREFIX, ITEM). Note that there is no comma after
'addprefix'. 

This particular Makefile seems to be horribly broken. So I think I might
as well start over. Further reading shows that the 'vpath' directive
should be used in this case, or '.PATH' for BSD make. 

Thanks for the suggestion at least...

-Andrew

On Mon, 2006-05-22 at 18:45 -0400, Parv wrote:
> in message <1148335671.2572.10.camel@LatitudeFC5.network>,
> wrote Andrew thusly...
> >
> > I'm trying to use $(addprefix) build lists of source files and
> > object files containing the relative paths for each. The problem
> > is that $(addprefix) never seems to be evaluated. When I run 'make
> > -p', $OBJECT_LIST looks exactly like in does in my Makefile, which
> > is listed below.
> ...
> > #### Begin Makefile ####
> > 
> > ## compiler settings
> > CC = gcc
> > OPTIONS = -Wall -g
> > 
> > ## directory layout
> > BASEDIR = ../alice
> > SOURCEDIR = $(BASEDIR)/sources
> > OBJECTDIR = $(BASEDIR)/objects
> > DOCSDIR = $(BASEDIR)/documentation
> ...
> > SOURCES_LIST = $(addprefix, $(SOURCEDIR), $(SOURCE))
> > OBJECTS_LIST = $(addprefix, $(OBJECTDIR), $(OBJECTS))
> > 
> > ## targets
> > alice: $(OBJECT_LIST)
> >         $(CC) $(OPTIONS) -o $@ $(OBJECT_LIST)
> ...
> 
> Looks like you are using gnu make syntax.
> 
> Read make(1) man page.  Replace $(VAR) with ${VAR} & see what
> happens (i am unsure as i am a light user of BSD make).
> 
> 
>   - Parv
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1148339317.2572.15.camel>