~ [ 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-6.2.16)


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