Message ID | 20220118112909.1885705-7-usama.anjum@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests: Fix separate output directory builds | expand |
On 18/01/2022 12:29, Muhammad Usama Anjum wrote: > Out of tree build of this test fails if relative path of the output > directory is specified. Remove the un-needed include paths and use > KHDR_INCLUDES to correctly reach the headers. > > Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> > --- > tools/testing/selftests/landlock/Makefile | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/tools/testing/selftests/landlock/Makefile b/tools/testing/selftests/landlock/Makefile > index a99596ca9882..44c724b38a37 100644 > --- a/tools/testing/selftests/landlock/Makefile > +++ b/tools/testing/selftests/landlock/Makefile > @@ -1,6 +1,6 @@ > # SPDX-License-Identifier: GPL-2.0 > > -CFLAGS += -Wall -O2 > +CFLAGS += -Wall -O2 $(KHDR_INCLUDES) > > src_test := $(wildcard *_test.c) > > @@ -12,13 +12,8 @@ KSFT_KHDR_INSTALL := 1 > OVERRIDE_TARGETS := 1 > include ../lib.mk > > -khdr_dir = $(top_srcdir)/usr/include This should be updated to: khdr_dir = ${abs_srctree}/usr/include Using a global KHDR_DIR instead of khdr_dir could be useful for others too. > - > -$(khdr_dir)/linux/landlock.h: khdr > - @: This should be kept as is, otherwise we loose this check to rebuild the headers if linux/landlock.h is updated, which is handy for development. KVM lost a similar behavior with this patch series. > - > $(OUTPUT)/true: true.c > $(LINK.c) $< $(LDLIBS) -o $@ -static > > -$(OUTPUT)/%_test: %_test.c $(khdr_dir)/linux/landlock.h ../kselftest_harness.h common.h This should not be changed. > - $(LINK.c) $< $(LDLIBS) -o $@ -lcap -I$(khdr_dir) > +$(OUTPUT)/%_test: %_test.c ../kselftest_harness.h common.h > + $(LINK.c) $< $(LDLIBS) -o $@ -lcap This doesn't work when building in the local directory because $abs_srctree and $KHDR_INCLUDES are empty: cd tools/testing/selftests/landlock && make
On 1/18/22 5:35 PM, Mickaël Salaün wrote: > > On 18/01/2022 12:29, Muhammad Usama Anjum wrote: >> Out of tree build of this test fails if relative path of the output >> directory is specified. Remove the un-needed include paths and use >> KHDR_INCLUDES to correctly reach the headers. >> >> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> >> --- >> tools/testing/selftests/landlock/Makefile | 11 +++-------- >> 1 file changed, 3 insertions(+), 8 deletions(-) >> >> diff --git a/tools/testing/selftests/landlock/Makefile >> b/tools/testing/selftests/landlock/Makefile >> index a99596ca9882..44c724b38a37 100644 >> --- a/tools/testing/selftests/landlock/Makefile >> +++ b/tools/testing/selftests/landlock/Makefile >> @@ -1,6 +1,6 @@ >> # SPDX-License-Identifier: GPL-2.0 >> -CFLAGS += -Wall -O2 >> +CFLAGS += -Wall -O2 $(KHDR_INCLUDES) >> src_test := $(wildcard *_test.c) >> @@ -12,13 +12,8 @@ KSFT_KHDR_INSTALL := 1 >> OVERRIDE_TARGETS := 1 >> include ../lib.mk >> -khdr_dir = $(top_srcdir)/usr/include > > This should be updated to: > khdr_dir = ${abs_srctree}/usr/include > > Using a global KHDR_DIR instead of khdr_dir could be useful for others too. > >> - >> -$(khdr_dir)/linux/landlock.h: khdr >> - @: > > This should be kept as is, otherwise we loose this check to rebuild the > headers if linux/landlock.h is updated, which is handy for development. > KVM lost a similar behavior with this patch series. > >> - >> $(OUTPUT)/true: true.c >> $(LINK.c) $< $(LDLIBS) -o $@ -static >> -$(OUTPUT)/%_test: %_test.c $(khdr_dir)/linux/landlock.h >> ../kselftest_harness.h common.h > > This should not be changed. > >> - $(LINK.c) $< $(LDLIBS) -o $@ -lcap -I$(khdr_dir) >> +$(OUTPUT)/%_test: %_test.c ../kselftest_harness.h common.h >> + $(LINK.c) $< $(LDLIBS) -o $@ -lcap > > This doesn't work when building in the local directory because > $abs_srctree and $KHDR_INCLUDES are empty: > cd tools/testing/selftests/landlock && make Hi, Thank you. I'll update this path and the kvm one. I'll send a V2. Thanks, Usama
diff --git a/tools/testing/selftests/landlock/Makefile b/tools/testing/selftests/landlock/Makefile index a99596ca9882..44c724b38a37 100644 --- a/tools/testing/selftests/landlock/Makefile +++ b/tools/testing/selftests/landlock/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 -CFLAGS += -Wall -O2 +CFLAGS += -Wall -O2 $(KHDR_INCLUDES) src_test := $(wildcard *_test.c) @@ -12,13 +12,8 @@ KSFT_KHDR_INSTALL := 1 OVERRIDE_TARGETS := 1 include ../lib.mk -khdr_dir = $(top_srcdir)/usr/include - -$(khdr_dir)/linux/landlock.h: khdr - @: - $(OUTPUT)/true: true.c $(LINK.c) $< $(LDLIBS) -o $@ -static -$(OUTPUT)/%_test: %_test.c $(khdr_dir)/linux/landlock.h ../kselftest_harness.h common.h - $(LINK.c) $< $(LDLIBS) -o $@ -lcap -I$(khdr_dir) +$(OUTPUT)/%_test: %_test.c ../kselftest_harness.h common.h + $(LINK.c) $< $(LDLIBS) -o $@ -lcap
Out of tree build of this test fails if relative path of the output directory is specified. Remove the un-needed include paths and use KHDR_INCLUDES to correctly reach the headers. Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> --- tools/testing/selftests/landlock/Makefile | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)