Merge tag 'kbuild-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[platform/kernel/linux-rpi.git] / scripts / Makefile.lib
index c88b98b..3dd688b 100644 (file)
@@ -90,6 +90,7 @@ always-y                      += $(dtb-y)
 
 # Add subdir path
 
+ifneq ($(obj),.)
 extra-y                := $(addprefix $(obj)/,$(extra-y))
 always-y       := $(addprefix $(obj)/,$(always-y))
 targets                := $(addprefix $(obj)/,$(targets))
@@ -101,6 +102,7 @@ multi-obj-m := $(addprefix $(obj)/, $(multi-obj-m))
 multi-dtb-y    := $(addprefix $(obj)/, $(multi-dtb-y))
 real-dtb-y     := $(addprefix $(obj)/, $(real-dtb-y))
 subdir-ym      := $(addprefix $(obj)/,$(subdir-ym))
+endif
 
 # Finds the multi-part object the current object will be linked into.
 # If the object belongs to two or more multi-part objects, list them all.
@@ -241,25 +243,26 @@ ifdef CONFIG_OBJTOOL
 
 objtool := $(objtree)/tools/objtool/objtool
 
-objtool_args =                                                         \
-       $(if $(CONFIG_HAVE_JUMP_LABEL_HACK), --hacks=jump_label)        \
-       $(if $(CONFIG_HAVE_NOINSTR_HACK), --hacks=noinstr)              \
-       $(if $(CONFIG_X86_KERNEL_IBT), --ibt)                           \
-       $(if $(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL), --mcount)             \
-       $(if $(CONFIG_UNWINDER_ORC), --orc)                             \
-       $(if $(CONFIG_RETPOLINE), --retpoline)                          \
-       $(if $(CONFIG_RETHUNK), --rethunk)                              \
-       $(if $(CONFIG_SLS), --sls)                                      \
-       $(if $(CONFIG_STACK_VALIDATION), --stackval)                    \
-       $(if $(CONFIG_HAVE_STATIC_CALL_INLINE), --static-call)          \
-       $(if $(CONFIG_HAVE_UACCESS_VALIDATION), --uaccess)              \
+objtool-args-$(CONFIG_HAVE_JUMP_LABEL_HACK)            += --hacks=jump_label
+objtool-args-$(CONFIG_HAVE_NOINSTR_HACK)               += --hacks=noinstr
+objtool-args-$(CONFIG_X86_KERNEL_IBT)                  += --ibt
+objtool-args-$(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL)       += --mcount
+objtool-args-$(CONFIG_UNWINDER_ORC)                    += --orc
+objtool-args-$(CONFIG_RETPOLINE)                       += --retpoline
+objtool-args-$(CONFIG_RETHUNK)                         += --rethunk
+objtool-args-$(CONFIG_SLS)                             += --sls
+objtool-args-$(CONFIG_STACK_VALIDATION)                        += --stackval
+objtool-args-$(CONFIG_HAVE_STATIC_CALL_INLINE)         += --static-call
+objtool-args-$(CONFIG_HAVE_UACCESS_VALIDATION)         += --uaccess
+objtool-args-$(CONFIG_GCOV_KERNEL)                     += --no-unreachable
+
+objtool-args = $(objtool-args-y)                                       \
        $(if $(delay-objtool), --link)                                  \
-       $(if $(part-of-module), --module)                               \
-       $(if $(CONFIG_GCOV_KERNEL), --no-unreachable)
+       $(if $(part-of-module), --module)
 
 delay-objtool := $(or $(CONFIG_LTO_CLANG),$(CONFIG_X86_KERNEL_IBT))
 
-cmd_objtool = $(if $(objtool-enabled), ; $(objtool) $(objtool_args) $@)
+cmd_objtool = $(if $(objtool-enabled), ; $(objtool) $(objtool-args) $@)
 cmd_gen_objtooldep = $(if $(objtool-enabled), { echo ; echo '$@: $$(wildcard $(objtool))' ; } >> $(dot-target).cmd)
 
 endif # CONFIG_OBJTOOL