Several tests that rely on implicit build rules fail to build, when invoked from the main Makefile kselftest target. These failures are due to --no-builtin-rules and --no-builtin-variables options set in the inherited MAKEFLAGS. --no-builtin-rules eliminates the use of built-in implicit rules and --no-builtin-variables is for not defining built-in variables. These two options override the use of implicit rules resulting in build failures. In addition, inherited LDFLAGS result in build failures and there is no need to define LDFLAGS. Clear LDFLAGS and MAKEFLAG when make is invoked from the main Makefile kselftest target. Fixing this at selftests Makefile avoids changing the main Makefile and keeps this change self contained at selftests level. Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com> Acked-by: Michael Ellerman <mpe@ellerman.id.au>
61 lines
1.2 KiB
Makefile
61 lines
1.2 KiB
Makefile
TARGETS = breakpoints
|
|
TARGETS += cpu-hotplug
|
|
TARGETS += efivarfs
|
|
TARGETS += exec
|
|
TARGETS += firmware
|
|
TARGETS += ftrace
|
|
TARGETS += kcmp
|
|
TARGETS += memfd
|
|
TARGETS += memory-hotplug
|
|
TARGETS += mount
|
|
TARGETS += mqueue
|
|
TARGETS += net
|
|
TARGETS += powerpc
|
|
TARGETS += ptrace
|
|
TARGETS += size
|
|
TARGETS += sysctl
|
|
TARGETS += timers
|
|
TARGETS += user
|
|
TARGETS += vm
|
|
#Please keep the TARGETS list alphabetically sorted
|
|
|
|
TARGETS_HOTPLUG = cpu-hotplug
|
|
TARGETS_HOTPLUG += memory-hotplug
|
|
|
|
# Clear LDFLAGS and MAKEFLAGS if called from main
|
|
# Makefile to avoid test build failures when test
|
|
# Makefile doesn't have explicit build rules.
|
|
ifeq (1,$(MAKELEVEL))
|
|
undefine LDFLAGS
|
|
override MAKEFLAGS =
|
|
endif
|
|
|
|
all:
|
|
for TARGET in $(TARGETS); do \
|
|
make -C $$TARGET; \
|
|
done;
|
|
|
|
run_tests: all
|
|
for TARGET in $(TARGETS); do \
|
|
make -C $$TARGET run_tests; \
|
|
done;
|
|
|
|
hotplug:
|
|
for TARGET in $(TARGETS_HOTPLUG); do \
|
|
make -C $$TARGET; \
|
|
done;
|
|
|
|
run_hotplug: hotplug
|
|
for TARGET in $(TARGETS_HOTPLUG); do \
|
|
make -C $$TARGET run_full_test; \
|
|
done;
|
|
|
|
clean_hotplug:
|
|
for TARGET in $(TARGETS_HOTPLUG); do \
|
|
make -C $$TARGET clean; \
|
|
done;
|
|
|
|
clean:
|
|
for TARGET in $(TARGETS); do \
|
|
make -C $$TARGET clean; \
|
|
done;
|