Ah, but make is smarter than that. Take for example this makefile:
myprog.sh :
echo "#!/bin/sh" > $@
sleep 3
echo "echo Hello World!" >> $@
echo >> $@
chmod a+x $@
If you press ctrl-c during the sleep, then make will remove the half baked
myprog.sh
and print: ^Cmake: *** Deleting file `myprog.sh'
make: *** [myprog.sh] Interrupt
However if you have an error in you recipe, for example add "cat not_there >>
$@" at the end
of the recipe, then make will let the half baked myprog.sh remain. But
makefile execution
will of course terminate.
Thus if you have a recipe that will most likely not fail, then you should rely
on make to do the
cleanup. If you have potential failures during a sequence of commands that
construct the goal,
then the tmp trick can be used.
//Fredrik
28 nov 2012 kl. 12:05 skrev Erik Joelsson:
> In this case it's rather to protect against unfortunately timed ctrl-c or
> other external interruptions.
>
> /Erik
>
> On 2012-11-28 09:26, Fredrik Öhrström wrote:
>> Looks ok. However the practice of using [email protected] is unnecessary if there
>> is no reasonable risk of failure in the recipe.
>>
>> //Fredrik
>>
>> 2012/11/26 Erik Joelsson<[email protected]>:
>>> This patch converts 7197071 to the new build-system.
>>>
>>> http://cr.openjdk.java.net/~erikj/8003482/webrev.jdk.01/
>>>
>>> /Erik