[v3,2/3] selftests/x86/Makefile: Support per-target $(LIBS) configuration
Checks
Commit Message
And avoid compiling PCHs by accident.
Signed-off-by: Florian Weimer <fweimer@redhat.com>
---
v3: Patch split out.
tools/testing/selftests/x86/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Comments
On 1/5/22 08:03, Florian Weimer wrote:
> And avoid compiling PCHs by accident.
>
The patch seems fine, but I can't make heads or tails of the $SUBJECT.
Can you help me?
> Signed-off-by: Florian Weimer <fweimer@redhat.com>
> ---
> v3: Patch split out.
>
> tools/testing/selftests/x86/Makefile | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/x86/Makefile b/tools/testing/selftests/x86/Makefile
> index 8a1f62ab3c8e..0993d12f2c38 100644
> --- a/tools/testing/selftests/x86/Makefile
> +++ b/tools/testing/selftests/x86/Makefile
> @@ -72,10 +72,12 @@ all_64: $(BINARIES_64)
> EXTRA_CLEAN := $(BINARIES_32) $(BINARIES_64)
>
> $(BINARIES_32): $(OUTPUT)/%_32: %.c helpers.h
> - $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl -lm
> + $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
> + $(or $(LIBS), -lrt -ldl -lm)
>
> $(BINARIES_64): $(OUTPUT)/%_64: %.c helpers.h
> - $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl
> + $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
> + $(or $(LIBS), -lrt -ldl -lm)
>
> # x86_64 users should be encouraged to install 32-bit libraries
> ifeq ($(CAN_BUILD_I386)$(CAN_BUILD_X86_64),01)
* Andy Lutomirski:
> On 1/5/22 08:03, Florian Weimer wrote:
>> And avoid compiling PCHs by accident.
>>
>
> The patch seems fine, but I can't make heads or tails of the
> $SUBJECT. Can you help me?
What about this?
selftests/x86/Makefile: Set linked libraries using $(LIBS)
I guess that it's possible to use make features to set this per target
isn't important.
Thanks,
Florian
>> Signed-off-by: Florian Weimer <fweimer@redhat.com>
>> ---
>> v3: Patch split out.
>> tools/testing/selftests/x86/Makefile | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>> diff --git a/tools/testing/selftests/x86/Makefile
>> b/tools/testing/selftests/x86/Makefile
>> index 8a1f62ab3c8e..0993d12f2c38 100644
>> --- a/tools/testing/selftests/x86/Makefile
>> +++ b/tools/testing/selftests/x86/Makefile
>> @@ -72,10 +72,12 @@ all_64: $(BINARIES_64)
>> EXTRA_CLEAN := $(BINARIES_32) $(BINARIES_64)
>> $(BINARIES_32): $(OUTPUT)/%_32: %.c helpers.h
>> - $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl -lm
>> + $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
>> + $(or $(LIBS), -lrt -ldl -lm)
>> $(BINARIES_64): $(OUTPUT)/%_64: %.c helpers.h
>> - $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl
>> + $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
>> + $(or $(LIBS), -lrt -ldl -lm)
>> # x86_64 users should be encouraged to install 32-bit libraries
>> ifeq ($(CAN_BUILD_I386)$(CAN_BUILD_X86_64),01)
On Thu, Jan 13, 2022, at 2:00 PM, Florian Weimer wrote:
> * Andy Lutomirski:
>
>> On 1/5/22 08:03, Florian Weimer wrote:
>>> And avoid compiling PCHs by accident.
>>>
>>
>> The patch seems fine, but I can't make heads or tails of the
>> $SUBJECT. Can you help me?
>
> What about this?
>
> selftests/x86/Makefile: Set linked libraries using $(LIBS)
>
> I guess that it's possible to use make features to set this per target
> isn't important.
I think that's actually important -- it's nice to explain to make dummies (e.g. me) what the purpose is is. I assume it's so that a given test can override the libraries. Also, you've conflated two different changes into one patch: removal of .h and addition of LIBS.
--Andy
>
> Thanks,
> Florian
>
>>> Signed-off-by: Florian Weimer <fweimer@redhat.com>
>>> ---
>>> v3: Patch split out.
>>> tools/testing/selftests/x86/Makefile | 6 ++++--
>>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>> diff --git a/tools/testing/selftests/x86/Makefile
>>> b/tools/testing/selftests/x86/Makefile
>>> index 8a1f62ab3c8e..0993d12f2c38 100644
>>> --- a/tools/testing/selftests/x86/Makefile
>>> +++ b/tools/testing/selftests/x86/Makefile
>>> @@ -72,10 +72,12 @@ all_64: $(BINARIES_64)
>>> EXTRA_CLEAN := $(BINARIES_32) $(BINARIES_64)
>>> $(BINARIES_32): $(OUTPUT)/%_32: %.c helpers.h
>>> - $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl -lm
>>> + $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
>>> + $(or $(LIBS), -lrt -ldl -lm)
>>> $(BINARIES_64): $(OUTPUT)/%_64: %.c helpers.h
>>> - $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl
>>> + $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
>>> + $(or $(LIBS), -lrt -ldl -lm)
>>> # x86_64 users should be encouraged to install 32-bit libraries
>>> ifeq ($(CAN_BUILD_I386)$(CAN_BUILD_X86_64),01)
* Andy Lutomirski:
> On Thu, Jan 13, 2022, at 2:00 PM, Florian Weimer wrote:
>> * Andy Lutomirski:
>>
>>> On 1/5/22 08:03, Florian Weimer wrote:
>>>> And avoid compiling PCHs by accident.
>>>>
>>>
>>> The patch seems fine, but I can't make heads or tails of the
>>> $SUBJECT. Can you help me?
>>
>> What about this?
>>
>> selftests/x86/Makefile: Set linked libraries using $(LIBS)
>>
>> I guess that it's possible to use make features to set this per target
>> isn't important.
>
> I think that's actually important -- it's nice to explain to make
> dummies (e.g. me) what the purpose is is. I assume it's so that a
> given test can override the libraries. Also, you've conflated two
> different changes into one patch: removal of .h and addition of LIBS.
Do you want me to split this further into two commits?
selftests/x86/Makefile: Per-target configuration of linked libraries
Targets can set $(LIBS) to specify a different set of libraries than the
defaults (or no libraries at all).
And:
selftests/x86/Makefile: Do not pass header files as compiler inputs
Filtering out .h files avoids accidentally creating a precompiled
header.
I didn't want to game commit metrics.
Thanks,
Florian
@@ -72,10 +72,12 @@ all_64: $(BINARIES_64)
EXTRA_CLEAN := $(BINARIES_32) $(BINARIES_64)
$(BINARIES_32): $(OUTPUT)/%_32: %.c helpers.h
- $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl -lm
+ $(CC) -m32 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
+ $(or $(LIBS), -lrt -ldl -lm)
$(BINARIES_64): $(OUTPUT)/%_64: %.c helpers.h
- $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $^ -lrt -ldl
+ $(CC) -m64 -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(filter-out %.h, $^) \
+ $(or $(LIBS), -lrt -ldl -lm)
# x86_64 users should be encouraged to install 32-bit libraries
ifeq ($(CAN_BUILD_I386)$(CAN_BUILD_X86_64),01)