On Wed, Apr 18 2012, Felipe Contreras <felipe.contreras@gmail.com> wrote: > On Wed, Apr 18, 2012 at 6:40 PM, Tomi Ollila <tomi.ollila@iki.fi> wrote: >> On Wed, Apr 18 2012, David Bremner <david@tethera.net> wrote: >> >>> Felipe Contreras <felipe.contreras@gmail.com> writes: >>>>> If this is not an issue, then LGTM. >>>> >>>> I don't know, I have always used $(PWD), unless anybody else prefers >>>> $(CURDIR), I'll push that. >>> >>> I think CURDIR is better; if only because it is the standard (GNU) make >>> way of doing things [1]. I'm not sure if there is a functional >>> difference or not. At least CURDIR definitely works with make -C [2] >> >> I read some web pages and then did an experiment; GNU make (v 3.77+) >> has builtin variable $(CURDIR). $(PWD) gets value from environment: >> >> doing the following: >> >> $ cat > foo.mk <<EOF >> all: >> pwd=`pwd`; echo $pwd >> echo $(CURDIR) >> echo $(PWD) >> EOF >> $ PWD= make -f foo.mk >> pwd=`pwd`; echo $pwd > > Agh! Complete confusion. Add an '@' before echo =/ Actually I wonder where one '$' was lose in line pwd=`pwd`; echo $$pwd >> So, most portable option would be using pwd=`pwd`; echo $pwd >> construct in the makefile. Next option would be using $(CURDIR) >> and it works with -C (and with original bourne shell which does >> not manage $PWD). That is GNU make (v 3.77+) spesific but the makefiles >> use GNU make constructs elsewhere too. > > I think `pwd` is overkill. I vote for $(CURDIR), although $$PWD > wouldn't be bad either. So, $(CURDIR) has 3 votes :D > > Cheers. > > -- > Felipe Contreras Tomi