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

TOMOYO Linux Cross Reference
Linux/scripts/Makefile.modfinal

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/Makefile.modfinal (Version linux-6.11.5) and /scripts/Makefile.modfinal (Version linux-5.12.19)


  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) $(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 
                                                   >>  31 ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
                                                   >>  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 ifneq ($(SKIP_STACK_VALIDATION),1)
                                                   >>  43 cmd_ld_ko_o +=                                                          \
                                                   >>  44         $(objtree)/tools/objtool/objtool $(objtool_args)                \
                                                   >>  45                 $(@:.ko=$(prelink-ext).o);
                                                   >>  46 
                                                   >>  47 endif # SKIP_STACK_VALIDATION
                                                   >>  48 endif # CONFIG_STACK_VALIDATION
                                                   >>  49 
                                                   >>  50 endif # CONFIG_LTO_CLANG
                                                   >>  51 
 33 quiet_cmd_ld_ko_o = LD [M]  $@                     52 quiet_cmd_ld_ko_o = LD [M]  $@
 34       cmd_ld_ko_o +=                               53       cmd_ld_ko_o +=                                                    \
 35         $(LD) -r $(KBUILD_LDFLAGS)                 54         $(LD) -r $(KBUILD_LDFLAGS)                                      \
 36                 $(KBUILD_LDFLAGS_MODULE) $(LDF     55                 $(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE)              \
 37                 -T scripts/module.lds -o $@ $( !!  56                 -T scripts/module.lds -o $@ $(filter %.o, $^);          \
                                                   >>  57         $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
 38                                                    58 
 39 quiet_cmd_btf_ko = BTF [M] $@                      59 quiet_cmd_btf_ko = BTF [M] $@
 40       cmd_btf_ko =                                 60       cmd_btf_ko =                                                      \
 41         if [ ! -f vmlinux ]; then              !!  61         if [ -f vmlinux ]; then                                         \
 42                 printf "Skipping BTF generatio !!  62                 LLVM_OBJCOPY="$(OBJCOPY)" $(PAHOLE) -J --btf_base vmlinux $@; \
 43         else                                       63         else                                                            \
 44                 LLVM_OBJCOPY="$(OBJCOPY)" $(PA !!  64                 printf "Skipping BTF generation for %s due to unavailability of vmlinux\n" $@ 1>&2; \
 45                 $(RESOLVE_BTFIDS) -b vmlinux $ << 
 46         fi;                                        65         fi;
 47                                                    66 
 48 # Same as newer-prereqs, but allows to exclude     67 # Same as newer-prereqs, but allows to exclude specified extra dependencies
 49 newer_prereqs_except = $(filter-out $(PHONY) $     68 newer_prereqs_except = $(filter-out $(PHONY) $(1),$?)
 50                                                    69 
 51 # Same as if_changed, but allows to exclude sp     70 # Same as if_changed, but allows to exclude specified extra dependencies
 52 if_changed_except = $(if $(call newer_prereqs_     71 if_changed_except = $(if $(call newer_prereqs_except,$(2))$(cmd-check),      \
 53         $(cmd);                                    72         $(cmd);                                                              \
 54         printf '%s\n' 'savedcmd_$@ := $(make-c !!  73         printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:)
                                                   >>  74 
 55                                                    75 
 56 # Re-generate module BTFs if either module's .     76 # Re-generate module BTFs if either module's .ko or vmlinux changed
 57 %.ko: %.o %.mod.o scripts/module.lds $(and $(C !!  77 $(modules): %.ko: %$(prelink-ext).o %.mod.o scripts/module.lds $(if $(KBUILD_BUILTIN),vmlinux) FORCE
 58         +$(call if_changed_except,ld_ko_o,vmli     78         +$(call if_changed_except,ld_ko_o,vmlinux)
 59 ifdef CONFIG_DEBUG_INFO_BTF_MODULES                79 ifdef CONFIG_DEBUG_INFO_BTF_MODULES
 60         +$(if $(newer-prereqs),$(call cmd,btf_     80         +$(if $(newer-prereqs),$(call cmd,btf_ko))
 61 endif                                              81 endif
 62                                                    82 
 63 targets += $(modules:%.o=%.ko) $(modules:%.o=% !!  83 targets += $(modules) $(modules:.ko=.mod.o)
 64                                                    84 
 65 # Add FORCE to the prerequisites of a target t !!  85 # Add FORCE to the prequisites of a target to force it to be always rebuilt.
 66 # --------------------------------------------     86 # ---------------------------------------------------------------------------
 67                                                    87 
 68 PHONY += FORCE                                     88 PHONY += FORCE
 69 FORCE:                                             89 FORCE:
 70                                                    90 
 71 # Read all saved command lines and dependencie     91 # Read all saved command lines and dependencies for the $(targets) we
 72 # may be building above, using $(if_changed{,_     92 # may be building above, using $(if_changed{,_dep}). As an
 73 # optimization, we don't need to read them if      93 # optimization, we don't need to read them if the target does not
 74 # exist, we will rebuild anyway in that case.      94 # exist, we will rebuild anyway in that case.
 75                                                    95 
 76 existing-targets := $(wildcard $(sort $(target     96 existing-targets := $(wildcard $(sort $(targets)))
 77                                                    97 
 78 -include $(foreach f,$(existing-targets),$(dir     98 -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
 79                                                    99 
 80 .PHONY: $(PHONY)                                  100 .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