[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: canonicalization/stripping of leading ./
From: |
Martin Dorey |
Subject: |
RE: canonicalization/stripping of leading ./ |
Date: |
Wed, 28 Nov 2007 13:48:42 -0800 |
http://www.gnu.org/software/make/manual/make.html#Makefile-Basics
suggests you follow your final suggestion, as you (seem to) have a
$(srcdir) variable. It suggests ./ otherwise, although I've tripped
over doing that and generally use $(CURDIR)/ myself.
It's helpful elsewhere that ./file and file are considered to be the
same file.
-----Original Message-----
From: address@hidden
[mailto:address@hidden On Behalf Of
address@hidden
Sent: Wednesday, November 28, 2007 12:53
To: address@hidden
Subject: canonicalization/stripping of leading ./
Here's an example makefile:
cat <<_EOF > Makefile
test.out: ./script.sh
$< > $@
_EOF
Now when I run make, it executes
`script.sh > test.out`
instead of
`./script.sh > test.out`
This is all fine when 'PATH=.:<stuff>', and sometimes acceptable when
'PATH=<stuff>:.'; but in the general case, its very bad.
I'm working around this by changing my makefiles to
cat <<_EOF > Makefile
test.out: ./script.sh
./$< > $@
_EOF
but that doesn't seem too good either; maybe it should always be
cat <<_EOF > Makefile
test.out: $(srcdir)/script.sh
$(srcdir)/$< > $@
_EOF
??
Bug reports #15338 and #17230 cover this same issue, but I haven't seen
any followup, neither on Savannah nor on these lists.
The closest discussion I could find was #10708, mentioned in
http://lists.gnu.org/archive/html/help-make/2006-03/msg00231.html
What's the official scoop? Are there plans to fix/change this behavior?
In the meantime, how should I code the above Makefile (where an output
file should be rebuilt whenever its script changes)?
Thanks,
Daniel
_______________________________________________
Bug-make mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-make