> Subject: Re: [PATCH] test/vsock: add install target > > On Tue, Jul 09, 2024 at 09:50:51PM GMT, Peng Fan (OSS) wrote: > >From: Peng Fan <peng.fan@xxxxxxx> > > > >Add install target for vsock to make Yocto easy to install the images. > > > >Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > >--- > > tools/testing/vsock/Makefile | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > >diff --git a/tools/testing/vsock/Makefile > >b/tools/testing/vsock/Makefile index a7f56a09ca9f..5c8442fa9460 > 100644 > >--- a/tools/testing/vsock/Makefile > >+++ b/tools/testing/vsock/Makefile > >@@ -8,8 +8,20 @@ vsock_perf: vsock_perf.o > msg_zerocopy_common.o > > vsock_uring_test: LDLIBS = -luring > > vsock_uring_test: control.o util.o vsock_uring_test.o timeout.o > >msg_zerocopy_common.o > > > >+VSOCK_INSTALL_PATH ?= $(abspath .) > >+# Avoid changing the rest of the logic here and lib.mk. > >+INSTALL_PATH := $(VSOCK_INSTALL_PATH) > >+ > > CFLAGS += -g -O2 -Werror -Wall -I. -I../../include > > -I../../../usr/include -Wno-pointer-sign -fno-strict-overflow > > -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE - > D_GNU_SOURCE > > .PHONY: all test clean > > clean: > > ${RM} *.o *.d vsock_test vsock_diag_test vsock_perf > vsock_uring_test > > -include *.d > >+ > >+install: all > >+ @# Ask all targets to install their files > >+ mkdir -p $(INSTALL_PATH)/vsock > > why using the "vsock" subdir? > > IIUC you were inspired by selftests/Makefile, but it installs under > $(INSTALL_PATH)/kselftest/ the scripts used by the main one > `run_kselftest.sh`, which is installed in $(INSTALL_PATH instead. > So in this case I would install everything in $(INSTALL_PATH). > > WDYT? I agree. > > >+ install -m 744 vsock_test $(INSTALL_PATH)/vsock/ > >+ install -m 744 vsock_perf $(INSTALL_PATH)/vsock/ > >+ install -m 744 vsock_diag_test $(INSTALL_PATH)/vsock/ > >+ install -m 744 vsock_uring_test $(INSTALL_PATH)/vsock/ > > Also from selftests/Makefile, what about using the ifdef instead of > using $(abspath .) as default place? > > I mean this: > > install: all > ifdef INSTALL_PATH > ... > else > $(error Error: set INSTALL_PATH to use install) endif Is the following looks good to you? # Avoid conflict with INSTALL_PATH set by the main Makefile VSOCK_INSTALL_PATH ?= INSTALL_PATH := $(VSOCK_INSTALL_PATH) install: all ifdef INSTALL_PATH mkdir -p $(INSTALL_PATH) install -m 744 vsock_test $(INSTALL_PATH) install -m 744 vsock_perf $(INSTALL_PATH) install -m 744 vsock_diag_test $(INSTALL_PATH) install -m 744 vsock_uring_test $(INSTALL_PATH) else $(error Error: set INSTALL_PATH to use install) Endif Thanks, Peng. > > Thanks, > Stefano