Mail Archives: cygwin/2001/02/06/15:56:01
I don't have a explanation/solution for the core dump, but here's a
explanation of why you get [ 2] rather than [2]
http://sources.redhat.com/ml/cygwin/2000-07/msg00816.html
(summary: += inserts a space.)
Because of this, the += will not give the result you appear to want.
None of the following alternatives worked for me
t : m = ${m}2
t : m := ${m}2
m := ${m}2
But this does
---------------------------
/cygdrive/d/temp % cat makefile
t: n = ${m}2
t:
@echo "[${n}]"
/cygdrive/d/temp % make t
[2]
/cygdrive/d/temp % make m=hello t
[hello2]
/cygdrive/d/temp %
---------------------------
Scott Carter
Software Engineer
-----Original Message-----
From: Robert Bogomip [mailto:bob DOT bogo AT milohedge DOT com]
Sent: Tuesday, February 06, 2001 07:55 AM
To: cygwin AT cygwin DOT com
Subject: make 3.79: core dump expanding target specific variables
Consider this makefile:
t: m+=2
t:
@echo "[${m}]"
Then the following sort of works:
$ make t
[ 2]
$
(Interestingly, make 3.77 (which I have kept a copy of) produces a
different result:
$ make377 t
[2]
$
Hmmm.)
BUT the folowing crashes:
$ make m=hello t
assertion "current_variable_set_list->next != 0" failed: file
"/cygnus/netrel/src/make-3.79.1-2/expand.c", line 489
0 [sig] make 1580 stackdump: Dumping stack trace to
make.exe.stackdump
Aborted (core dumped)
$
All is OK with m:=hello on the command line (note the colon), and also
running with make377. None of make-3.79-3, make-3.79.1-1, or make 3.79.1-2
work.
--
Robert Bogomip /// mailto:bob DOT bogo AT milohedge DOT com
Milo Hedge Ltd, OCFI, Mill Street, Oxford, OX2 0JX /// tel:+44 1865 799400
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -