Skip to content

Commit a525405

Browse files
committed
selftests/landlock: Fix out-of-tree builds
These changes simplify the Makefile and handle these 5 ways to build Landlock tests: - make -C tools/testing/selftests/landlock - make -C tools/testing/selftests TARGETS=landlock gen_tar - make TARGETS=landlock kselftest-gen_tar - make TARGETS=landlock O=build kselftest-gen_tar - make -C /tmp/linux TARGETS=landlock O=/tmp/build kselftest-gen_tar This also makes $(KHDR_INCLUDES) available to other test collections when building in their directory. Fixes: f1227dc ("selftests/landlock: fix broken include of linux/landlock.h") Fixes: 3bb267a ("selftests: drop khdr make target") Cc: Anders Roxell <[email protected]> Cc: Guillaume Tucker <[email protected]> Cc: Mark Brown <[email protected]> Cc: Shuah Khan <[email protected]> Signed-off-by: Mickaël Salaün <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 80e78fc commit a525405

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# First run: make -C ../../../.. headers_install
24

35
CFLAGS += -Wall -O2 $(KHDR_INCLUDES)
6+
LDLIBS += -lcap
7+
8+
LOCAL_HDRS += common.h
49

510
src_test := $(wildcard *_test.c)
611

712
TEST_GEN_PROGS := $(src_test:.c=)
813

914
TEST_GEN_PROGS_EXTENDED := true
1015

11-
OVERRIDE_TARGETS := 1
12-
top_srcdir := ../../../..
13-
include ../lib.mk
14-
15-
khdr_dir = $(top_srcdir)/usr/include
16+
# Static linking for short targets:
17+
$(TEST_GEN_PROGS_EXTENDED): LDFLAGS += -static
1618

17-
$(OUTPUT)/true: true.c
18-
$(LINK.c) $< $(LDLIBS) -o $@ -static
19+
include ../lib.mk
1920

20-
$(OUTPUT)/%_test: %_test.c $(khdr_dir)/linux/landlock.h ../kselftest_harness.h common.h
21-
$(LINK.c) $< $(LDLIBS) -o $@ -lcap -I$(khdr_dir)
21+
# Static linking for targets with $(OUTPUT)/ prefix:
22+
$(TEST_GEN_PROGS_EXTENDED): LDFLAGS += -static

tools/testing/selftests/lib.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ endif
4242
selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
4343
top_srcdir = $(selfdir)/../../..
4444

45+
ifeq ($(KHDR_INCLUDES),)
46+
KHDR_INCLUDES := -isystem $(top_srcdir)/usr/include
47+
endif
48+
4549
# The following are built by lib.mk common compile rules.
4650
# TEST_CUSTOM_PROGS should be used by tests that require
4751
# custom build rule and prevent common build rule use.

0 commit comments

Comments
 (0)