lkml.org 
[lkml]   [2012]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [perf] make clean problematic bashism
On 08/15/2012 12:26 PM, Peter Zijlstra wrote:
> On Wed, 2012-08-15 at 11:52 +0200, Wouter M. Koolen wrote:
>> Dear perf maintainers,
>>
>> I attempted to compile perf 3.5.1 without worrying about installing
>> dependencies first. The resulting error messages were quite helpful, and
>> led me to install a bunch of development libraries and flex.
>>
>> Unfortunately, after installing flex the build still failed, even after
>> make clean.
>>
>> The reason for this was a bunch of generated empty flex files in util/
>> that were not removed by make clean. They are intended to be erased,
>> since the Makefile executes
>>
>> rm -f util/*-{bison,flex}*
>>
>> however, this command does not remove the files. I guess because {,}
>> alternatives are only special in bash but the makefile is run with some
>> other shell?
>
> ISTR us getting a number of such patches, did we miss a site, acme?
>
>> I got perf to compile now, but thought you would be interested to know
>> about this little problem.
>>
>> With kind regards,
>>
>> Wouter Koolen
>>
>>
>> PS: as a side note: GNU make has the .DELETE_ON_ERROR: special target,
>> which removes the target file when its generating command fails. This
>> would have prevented my problem and sounds like a good idea in general.
>> Maybe perf could make use of this feature when on GNU make?
>
> I don't think we build with anything but gnu make, mind sending a patch
> implementing your suggestion?



Hi Peter,

Some more information: my system has /bin/sh set to dash. I remember a
question about this during Debian installation. I guess Ubuntu does
something similar viz. https://lkml.org/lkml/2012/5/4/90

Patch attached :)

With kind regards,

Wouter
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 0eee64c..29b2373 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -1,3 +1,5 @@
+.DELETE_ON_ERROR:
+
include ../scripts/Makefile.include

# The default target of this Makefile is...
\
 
 \ /
  Last update: 2012-08-15 13:42    [W:0.053 / U:0.996 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site