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