Last night I found a very cruel bug in GNU make that led to a costly experience for me. Hence, I decided to report it and to help others not to repeat my experiment.
In a Makefile, and in assignment operations, the space character after the value is included to the value by `make'. Therefore, if I have an assignment like this:
VAR=value
where, there is a space character after the `value', then the GNU make would translate a command like this:
rm -rf /mydir/${VAR}/*
into:
rm -rf /mydir/value /*
that is equal to:
rm -rf /mydir/value && rm -rf /*
This problem is so cruel because you can not see the space character after the `value' and it will lead to hard damages to your root partition, in case if you are a super user. So I would be grateful if you consider that in your next releases and inform me as well.
Thanks, Hamed Janzadeh Computer Engineering Department, University of Texas, Dallas