From owner-freebsd-questions@FreeBSD.ORG Mon May 22 22:44:54 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 31B6616A532 for ; Mon, 22 May 2006 22:44:54 +0000 (UTC) (envelope-from parv@pair.com) Received: from mta11.adelphia.net (mta11.adelphia.net [68.168.78.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id C5D1A43D49 for ; Mon, 22 May 2006 22:44:53 +0000 (GMT) (envelope-from parv@pair.com) Received: from default.chvlva.adelphia.net ([69.160.66.115]) by mta11.adelphia.net (InterMail vM.6.01.05.02 201-2131-123-102-20050715) with ESMTP id <20060522224453.ZNHZ9009.mta11.adelphia.net@default.chvlva.adelphia.net>; Mon, 22 May 2006 18:44:53 -0400 Received: by default.chvlva.adelphia.net (Postfix, from userid 1000) id 8FA69BB1F; Mon, 22 May 2006 18:45:21 -0400 (EDT) Date: Mon, 22 May 2006 18:45:21 -0400 From: Parv To: Andrew Message-ID: <20060522224521.GA7373@holestein.holy.cow> Mail-Followup-To: Andrew , freebsd-questions@freebsd.org References: <1148335671.2572.10.camel@LatitudeFC5.network> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1148335671.2572.10.camel@LatitudeFC5.network> Cc: freebsd-questions@freebsd.org Subject: Re: Makefile and '$(addprefix)' X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 May 2006 22:44:54 -0000 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 --