diff mbox series

selftests: vm: Makefile: rename TARGETS to VMTARGETS

Message ID 20220504214032.1283777-1-jsavitz@redhat.com (mailing list archive)
State New
Headers show
Series selftests: vm: Makefile: rename TARGETS to VMTARGETS | expand

Commit Message

Joel Savitz May 4, 2022, 9:40 p.m. UTC
The tools/testing/selftests/vm/Makefile uses the variable TARGETS
internally to generate a list of platform-specific binary build targets
suffixed with _{32,64}. When building the selftests using its own
Makefile directly, such as via the following command run in a kernel
tree:

# make -C tools/testing/selftests install TARGETS="vm"

One receives an error such as the following:

make: Entering directory '/root/linux/tools/testing/selftests'
make --no-builtin-rules ARCH=x86 -C ../../.. headers_install
make[1]: Entering directory '/root/linux'
  INSTALL ./usr/include
make[1]: Leaving directory '/root/linux'
make[1]: Entering directory '/root/linux/tools/testing/selftests/vm'
make[1]: *** No rule to make target 'vm.c', needed by '/root/linux/tools/testing/selftests/vm/vm_64'.  Stop.
make[1]: Leaving directory '/root/linux/tools/testing/selftests/vm'
make: *** [Makefile:175: all] Error 2
make: Leaving directory '/root/linux/tools/testing/selftests'

The TARGETS variable passed to tools/testing/selftests/Makefile collides
with the TARGETS used in tools/testing/selftests/vm/Makefile, so rename
the latter to VMTARGETS, eliminating the collision with no functional
change.

Fixes: f21fda8f6453 ("selftests: vm: pkeys: fix multilib builds for
x86")

Signed-off-by: Joel Savitz <jsavitz@redhat.com>
---
 tools/testing/selftests/vm/Makefile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Nico Pache May 5, 2022, 12:25 a.m. UTC | #1
On 5/4/22 17:40, Joel Savitz wrote:
> The tools/testing/selftests/vm/Makefile uses the variable TARGETS
> internally to generate a list of platform-specific binary build targets
> suffixed with _{32,64}. When building the selftests using its own
> Makefile directly, such as via the following command run in a kernel
> tree:
> 
> # make -C tools/testing/selftests install TARGETS="vm"
> 
> One receives an error such as the following:
> 
> make: Entering directory '/root/linux/tools/testing/selftests'
> make --no-builtin-rules ARCH=x86 -C ../../.. headers_install
> make[1]: Entering directory '/root/linux'
>   INSTALL ./usr/include
> make[1]: Leaving directory '/root/linux'
> make[1]: Entering directory '/root/linux/tools/testing/selftests/vm'
> make[1]: *** No rule to make target 'vm.c', needed by '/root/linux/tools/testing/selftests/vm/vm_64'.  Stop.
> make[1]: Leaving directory '/root/linux/tools/testing/selftests/vm'
> make: *** [Makefile:175: all] Error 2
> make: Leaving directory '/root/linux/tools/testing/selftests'
> 
> The TARGETS variable passed to tools/testing/selftests/Makefile collides
> with the TARGETS used in tools/testing/selftests/vm/Makefile, so rename
> the latter to VMTARGETS, eliminating the collision with no functional
> change.
> 
> Fixes: f21fda8f6453 ("selftests: vm: pkeys: fix multilib builds for
> x86")
> 
> Signed-off-by: Joel Savitz <jsavitz@redhat.comTested-by: Nico Pache <npache@redhat.com>
Acked-by: Nico Pache <npache@redhat.com>
diff mbox series

Patch

diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
index 04a49e876a46..5b1ecd00695b 100644
--- a/tools/testing/selftests/vm/Makefile
+++ b/tools/testing/selftests/vm/Makefile
@@ -57,9 +57,9 @@  CAN_BUILD_I386 := $(shell ./../x86/check_cc.sh "$(CC)" ../x86/trivial_32bit_prog
 CAN_BUILD_X86_64 := $(shell ./../x86/check_cc.sh "$(CC)" ../x86/trivial_64bit_program.c)
 CAN_BUILD_WITH_NOPIE := $(shell ./../x86/check_cc.sh "$(CC)" ../x86/trivial_program.c -no-pie)
 
-TARGETS := protection_keys
-BINARIES_32 := $(TARGETS:%=%_32)
-BINARIES_64 := $(TARGETS:%=%_64)
+VMTARGETS := protection_keys
+BINARIES_32 := $(VMTARGETS:%=%_32)
+BINARIES_64 := $(VMTARGETS:%=%_64)
 
 ifeq ($(CAN_BUILD_WITH_NOPIE),1)
 CFLAGS += -no-pie
@@ -112,7 +112,7 @@  $(BINARIES_32): CFLAGS += -m32 -mxsave
 $(BINARIES_32): LDLIBS += -lrt -ldl -lm
 $(BINARIES_32): $(OUTPUT)/%_32: %.c
 	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@
-$(foreach t,$(TARGETS),$(eval $(call gen-target-rule-32,$(t))))
+$(foreach t,$(VMTARGETS),$(eval $(call gen-target-rule-32,$(t))))
 endif
 
 ifeq ($(CAN_BUILD_X86_64),1)
@@ -120,7 +120,7 @@  $(BINARIES_64): CFLAGS += -m64 -mxsave
 $(BINARIES_64): LDLIBS += -lrt -ldl
 $(BINARIES_64): $(OUTPUT)/%_64: %.c
 	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@
-$(foreach t,$(TARGETS),$(eval $(call gen-target-rule-64,$(t))))
+$(foreach t,$(VMTARGETS),$(eval $(call gen-target-rule-64,$(t))))
 endif
 
 # x86_64 users should be encouraged to install 32-bit libraries