Lines Matching +full:ext +full:- +full:gen
1 # SPDX-License-Identifier: GPL-2.0
22 # - Kernel release
23 # - SMP is CONFIG_SMP
24 # - PREEMPT is CONFIG_PREEMPT[_RT]
25 # - GCC Version
27 # - Module version (MODULE_VERSION)
28 # - Module alias'es (MODULE_ALIAS)
29 # - Module license (MODULE_LICENSE)
30 # - See include/linux/module.h for more details
49 mixed-build-prefix = $(if $(KBUILD_MIXED_TREE),$(KBUILD_MIXED_TREE)/)
52 $(if $(CONFIG_MODVERSIONS),-m) \
53 $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a) \
54 $(if $(CONFIG_SECTION_MISMATCH_WARN_ONLY),,-E) \
55 $(if $(KBUILD_MODPOST_WARN),-w) \
56 -o $@
72 input-symdump := $(mixed-build-prefix)vmlinux.symvers
73 output-symdump := modules-only.symvers
76 quiet_cmd_cat = GEN $@
77 cmd_cat = cat $(real-prereqs) > $@
79 ifneq ($(wildcard $(mixed-build-prefix)vmlinux.symvers),)
82 Module.symvers: $(mixed-build-prefix)vmlinux.symvers modules-only.symvers FORCE
91 # set src + obj - they may be used in the modules's Makefile
99 MODPOST += -e
101 input-symdump := Module.symvers $(KBUILD_EXTRA_SYMBOLS)
102 output-symdump := $(KBUILD_EXTMOD)/Module.symvers
121 sed -n 's/.*-\(\(g\|hg\)[a-fA-F0-9]\+\(-dirty\)\?\|svn[0-9]\+\).*/\1/p')
123 MODPOST += -v $(module_scmversion)
127 # modpost options for modules (both in-kernel and external)
129 $(addprefix -i ,$(wildcard $(input-symdump))) \
130 $(if $(KBUILD_NSDEPS),-d $(MODULES_NSDEPS)) \
131 $(if $(CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS)$(KBUILD_NSDEPS),-N)
133 # 'make -i -k' ignores compile errors, and builds as many modules as possible.
134 ifneq ($(findstring i,$(filter-out --%,$(MAKEFLAGS))),)
135 MODPOST += -n
140 $(input-symdump):
147 prelink-ext := .lto
151 $(LD) $(ld_flags) -r -o $@ \
152 $(shell [ -s $(@:.lto.o=.o.symversions) ] && \
153 echo -T $(@:.lto.o=.o.symversions)) \
154 --whole-archive $^
165 cmd_modpost = sed 's/\.ko$$/$(prelink-ext)\.o/' $< | $(MODPOST) -T -
167 $(output-symdump): $(MODORDER) $(input-symdump) $(modules:.ko=$(prelink-ext).o) FORCE
170 targets += $(output-symdump)
172 __modpost: $(output-symdump)
174 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
180 existing-targets := $(wildcard $(sort $(targets)))
182 -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)