Re: make -C tools clean failure on older systems
From: Shuah Khan
Date: Thu May 14 2015 - 14:29:45 EST
On 05/14/2015 09:54 AM, Arnaldo Carvalho de Melo wrote:
> Em Thu, May 14, 2015 at 09:39:43AM -0600, Shuah Khan escreveu:
>> On 05/14/2015 09:12 AM, Arnaldo Carvalho de Melo wrote:
>>> Hi,
>>>
>>> In:
>>>
>>> -------------
>>> commit 67d8712dcc70aa16d8e14a52eb73870e3cbddfc2
>>> Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
>>> Date: Wed Mar 18 11:57:39 2015 -0600
>>>
>>> selftests: Fix build failures when invoked from kselftest target
>>>
>>> -------------
>>>
>>> You cleaned two variables using different methods, any reason for that?
>>>
>>> I asked because the 'undefine' method causes it to fail in older
>>> systems:
>>
>> The reason for this change is some tests fail to build when invoked
>> from the main Makefile level. The commit log explains the change:
>
> I saw it
>
>>> +++ b/tools/testing/selftests/Makefile
>>> @@ -27,7 +27,7 @@ TARGETS_HOTPLUG += memory-hotplug
>>> # Makefile to avoid test build failures when test
>>> # Makefile doesn't have explicit build rules.
>>> ifeq (1,$(MAKELEVEL))
>>> -undefine LDFLAGS
>>> +override LDFLAGS =
>>> override MAKEFLAGS =
>>> endif
>>
>> I recall testing with override and remember it to not work. If you would
>
> bummer, then its not that easy, I thought it was an oversight, but if
> you tested it and it didn't work, nevermind, no need, I guess, to
> support older systems if it requires more, non trivial, work.
>
>> like experiment with it, feel free to send a patch with that change. My
>> make version is very new:
>>
>> make --version
>> GNU Make 4.0
>> Built for x86_64-pc-linux-gnu
>>
>> You have to run make kselftest from the main kernel Makefile to see
>> the build failures that undefine LDFLAGS fixed.
>>
Hmm. I ran a quick test with override and it worked. My recollection
must not be good. :) Here is what I tried:
diff --git a/tools/testing/selftests/Makefile
b/tools/testing/selftests/Makefile
index ebac6b8..56b11cd 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -28,7 +28,7 @@ TARGETS_HOTPLUG += memory-hotplug
# Makefile to avoid test build failures when test
# Makefile doesn't have explicit build rules.
ifeq (1,$(MAKELEVEL))
-undefine LDFLAGS
+override LDFLAGS =
override MAKEFLAGS =
endif
Could you please try this and let me know if it works and if
you have time, please send me a patch as well.
thanks,
-- Shuah
--
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America (Silicon Valley)
shuahkh@xxxxxxxxxxxxxxx | (970) 217-8978
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/