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: Shuah Khan <shuahkh@osg.samsung.com>
This commit is contained in:
parent
2bc84526d1
commit
8050ef2b83
|
@ -7,6 +7,7 @@ OUTPUT := $(shell pwd)
|
|||
endif
|
||||
|
||||
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))
|
||||
|
||||
all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
|
||||
|
@ -62,6 +63,11 @@ endef
|
|||
emit_tests:
|
||||
$(EMIT_TESTS)
|
||||
|
||||
# define if isn't already. It is undefined in make O= case.
|
||||
ifeq ($(RM),)
|
||||
RM := rm -f
|
||||
endif
|
||||
|
||||
define CLEAN
|
||||
$(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN)
|
||||
endef
|
||||
|
@ -69,6 +75,15 @@ endef
|
|||
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
|
||||
$(LINK.c) $^ $(LDLIBS) -o $@
|
||||
|
||||
|
|
Loading…
Reference in New Issue