Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8050ef2b authored by Shuah Khan's avatar Shuah Khan
Browse files

selftests: lib.mk: kselftest and kselftest-clean fail for make O=dir case



kselftest and kselftest-clean targets fail when object directory is
specified to relocate objects. Main Makefile make O= path clears the
built-in defines LINK.c, COMPILE.S, LINK.S, and RM that are used in
lib.mk to build and clean targets. Define them.

Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
parent 2bc84526
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
@@ -7,6 +7,7 @@ OUTPUT := $(shell pwd)
endif
endif


TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED))
TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))


all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
@@ -62,6 +63,11 @@ endef
emit_tests:
emit_tests:
	$(EMIT_TESTS)
	$(EMIT_TESTS)


# define if isn't already. It is undefined in make O= case.
ifeq ($(RM),)
RM := rm -f
endif

define CLEAN
define CLEAN
	$(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN)
	$(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN)
endef
endef
@@ -69,6 +75,15 @@ endef
clean:
clean:
	$(CLEAN)
	$(CLEAN)


# When make O= with kselftest target from main level
# the following aren't defined.
#
ifneq ($(KBUILD_SRC),)
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
COMPILE.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
LINK.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
endif

$(OUTPUT)/%:%.c
$(OUTPUT)/%:%.c
	$(LINK.c) $^ $(LDLIBS) -o $@
	$(LINK.c) $^ $(LDLIBS) -o $@