~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/Makefile.modfinal

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/Makefile.modfinal (Version linux-6.12-rc7) and /scripts/Makefile.modfinal (Version linux-5.14.21)


  1 # SPDX-License-Identifier: GPL-2.0-only             1 # SPDX-License-Identifier: GPL-2.0-only
  2 # ============================================      2 # ===========================================================================
  3 # Module final link                                 3 # Module final link
  4 # ============================================      4 # ===========================================================================
  5                                                     5 
  6 PHONY := __modfinal                                 6 PHONY := __modfinal
  7 __modfinal:                                         7 __modfinal:
  8                                                     8 
  9 include include/config/auto.conf                    9 include include/config/auto.conf
 10 include $(srctree)/scripts/Kbuild.include          10 include $(srctree)/scripts/Kbuild.include
 11                                                    11 
 12 # for c_flags                                  !!  12 # for c_flags and objtool_args
 13 include $(srctree)/scripts/Makefile.lib            13 include $(srctree)/scripts/Makefile.lib
 14                                                    14 
 15 # find all modules listed in modules.order         15 # find all modules listed in modules.order
 16 modules := $(call read-file, $(MODORDER))      !!  16 modules := $(sort $(shell cat $(MODORDER)))
 17                                                    17 
 18 __modfinal: $(modules:%.o=%.ko)                !!  18 __modfinal: $(modules)
 19         @:                                         19         @:
 20                                                    20 
 21 # modname and part-of-module are set to make c     21 # modname and part-of-module are set to make c_flags define proper module flags
 22 modname = $(notdir $(@:.mod.o=))                   22 modname = $(notdir $(@:.mod.o=))
 23 part-of-module = y                                 23 part-of-module = y
 24 GCOV_PROFILE := n                              << 
 25 KCSAN_SANITIZE := n                            << 
 26                                                    24 
 27 quiet_cmd_cc_o_c = CC [M]  $@                      25 quiet_cmd_cc_o_c = CC [M]  $@
 28       cmd_cc_o_c = $(CC) $(filter-out $(CC_FLA     26       cmd_cc_o_c = $(CC) $(filter-out $(CC_FLAGS_CFI), $(c_flags)) -c -o $@ $<
 29                                                    27 
 30 %.mod.o: %.mod.c FORCE                             28 %.mod.o: %.mod.c FORCE
 31         $(call if_changed_dep,cc_o_c)              29         $(call if_changed_dep,cc_o_c)
 32                                                    30 
 33 $(extmod_prefix).module-common.o: $(srctree)/s !!  31 ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
 34         $(call if_changed_dep,cc_o_c)          !!  32 
                                                   >>  33 ifdef CONFIG_LTO_CLANG
                                                   >>  34 # With CONFIG_LTO_CLANG, reuse the object file we compiled for modpost to
                                                   >>  35 # avoid a second slow LTO link
                                                   >>  36 prelink-ext := .lto
                                                   >>  37 
                                                   >>  38 # ELF processing was skipped earlier because we didn't have native code,
                                                   >>  39 # so let's now process the prelinked binary before we link the module.
                                                   >>  40 
                                                   >>  41 ifdef CONFIG_STACK_VALIDATION
                                                   >>  42 cmd_ld_ko_o +=                                                          \
                                                   >>  43         $(objtree)/tools/objtool/objtool $(objtool_args)                \
                                                   >>  44                 $(@:.ko=$(prelink-ext).o);
                                                   >>  45 
                                                   >>  46 endif # CONFIG_STACK_VALIDATION
                                                   >>  47 
                                                   >>  48 endif # CONFIG_LTO_CLANG
 35                                                    49 
 36 quiet_cmd_ld_ko_o = LD [M]  $@                     50 quiet_cmd_ld_ko_o = LD [M]  $@
 37       cmd_ld_ko_o =                            !!  51       cmd_ld_ko_o +=                                                    \
 38         $(LD) -r $(KBUILD_LDFLAGS)                 52         $(LD) -r $(KBUILD_LDFLAGS)                                      \
 39                 $(KBUILD_LDFLAGS_MODULE) $(LDF     53                 $(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE)              \
 40                 -T scripts/module.lds -o $@ $( !!  54                 -T scripts/module.lds -o $@ $(filter %.o, $^);          \
                                                   >>  55         $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
 41                                                    56 
 42 quiet_cmd_btf_ko = BTF [M] $@                      57 quiet_cmd_btf_ko = BTF [M] $@
 43       cmd_btf_ko =                                 58       cmd_btf_ko =                                                      \
 44         if [ ! -f vmlinux ]; then              !!  59         if [ -f vmlinux ]; then                                         \
 45                 printf "Skipping BTF generatio !!  60                 LLVM_OBJCOPY="$(OBJCOPY)" $(PAHOLE) -J --btf_base vmlinux $@; \
 46         else                                       61         else                                                            \
 47                 LLVM_OBJCOPY="$(OBJCOPY)" $(PA !!  62                 printf "Skipping BTF generation for %s due to unavailability of vmlinux\n" $@ 1>&2; \
 48                 $(RESOLVE_BTFIDS) -b vmlinux $ << 
 49         fi;                                        63         fi;
 50                                                    64 
 51 # Same as newer-prereqs, but allows to exclude     65 # Same as newer-prereqs, but allows to exclude specified extra dependencies
 52 newer_prereqs_except = $(filter-out $(PHONY) $     66 newer_prereqs_except = $(filter-out $(PHONY) $(1),$?)
 53                                                    67 
 54 # Same as if_changed, but allows to exclude sp     68 # Same as if_changed, but allows to exclude specified extra dependencies
 55 if_changed_except = $(if $(call newer_prereqs_     69 if_changed_except = $(if $(call newer_prereqs_except,$(2))$(cmd-check),      \
 56         $(cmd);                                    70         $(cmd);                                                              \
 57         printf '%s\n' 'savedcmd_$@ := $(make-c !!  71         printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:)
                                                   >>  72 
 58                                                    73 
 59 # Re-generate module BTFs if either module's .     74 # Re-generate module BTFs if either module's .ko or vmlinux changed
 60 %.ko: %.o %.mod.o $(extmod_prefix).module-comm !!  75 $(modules): %.ko: %$(prelink-ext).o %.mod.o scripts/module.lds $(if $(KBUILD_BUILTIN),vmlinux) FORCE
 61         +$(call if_changed_except,ld_ko_o,vmli     76         +$(call if_changed_except,ld_ko_o,vmlinux)
 62 ifdef CONFIG_DEBUG_INFO_BTF_MODULES                77 ifdef CONFIG_DEBUG_INFO_BTF_MODULES
 63         +$(if $(newer-prereqs),$(call cmd,btf_     78         +$(if $(newer-prereqs),$(call cmd,btf_ko))
 64 endif                                              79 endif
 65                                                    80 
 66 targets += $(modules:%.o=%.ko) $(modules:%.o=% !!  81 targets += $(modules) $(modules:.ko=.mod.o)
 67                                                    82 
 68 # Add FORCE to the prerequisites of a target t !!  83 # Add FORCE to the prequisites of a target to force it to be always rebuilt.
 69 # --------------------------------------------     84 # ---------------------------------------------------------------------------
 70                                                    85 
 71 PHONY += FORCE                                     86 PHONY += FORCE
 72 FORCE:                                             87 FORCE:
 73                                                    88 
 74 # Read all saved command lines and dependencie     89 # Read all saved command lines and dependencies for the $(targets) we
 75 # may be building above, using $(if_changed{,_     90 # may be building above, using $(if_changed{,_dep}). As an
 76 # optimization, we don't need to read them if      91 # optimization, we don't need to read them if the target does not
 77 # exist, we will rebuild anyway in that case.      92 # exist, we will rebuild anyway in that case.
 78                                                    93 
 79 existing-targets := $(wildcard $(sort $(target     94 existing-targets := $(wildcard $(sort $(targets)))
 80                                                    95 
 81 -include $(foreach f,$(existing-targets),$(dir     96 -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
 82                                                    97 
 83 .PHONY: $(PHONY)                                   98 .PHONY: $(PHONY)
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php