Makefile.build (867ac9d737094e46a6c33213f16dd1ec9e8bd5d5) | Makefile.build (ee9f8fce99640811b2b8e79d0d1dbe8bab69ba67) |
---|---|
1# ========================================================================== 2# Building 3# ========================================================================== 4 5src := $(obj) 6 7PHONY := __build 8__build: --- 244 unchanged lines hidden (view full) --- 253 fi; 254endif 255 256ifdef CONFIG_STACK_VALIDATION 257ifneq ($(SKIP_STACK_VALIDATION),1) 258 259__objtool_obj := $(objtree)/tools/objtool/objtool 260 | 1# ========================================================================== 2# Building 3# ========================================================================== 4 5src := $(obj) 6 7PHONY := __build 8__build: --- 244 unchanged lines hidden (view full) --- 253 fi; 254endif 255 256ifdef CONFIG_STACK_VALIDATION 257ifneq ($(SKIP_STACK_VALIDATION),1) 258 259__objtool_obj := $(objtree)/tools/objtool/objtool 260 |
261objtool_args = check | 261objtool_args = $(if $(CONFIG_ORC_UNWINDER),orc generate,check) 262 |
262ifndef CONFIG_FRAME_POINTER 263objtool_args += --no-fp 264endif 265ifdef CONFIG_GCOV_KERNEL 266objtool_args += --no-unreachable 267endif 268 269# 'OBJECT_FILES_NON_STANDARD := y': skip objtool checking for a directory --- 4 unchanged lines hidden (view full) --- 274 $(__objtool_obj) $(objtool_args) "$(@)";) 275objtool_obj = $(if $(patsubst y%,, \ 276 $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \ 277 $(__objtool_obj)) 278 279endif # SKIP_STACK_VALIDATION 280endif # CONFIG_STACK_VALIDATION 281 | 263ifndef CONFIG_FRAME_POINTER 264objtool_args += --no-fp 265endif 266ifdef CONFIG_GCOV_KERNEL 267objtool_args += --no-unreachable 268endif 269 270# 'OBJECT_FILES_NON_STANDARD := y': skip objtool checking for a directory --- 4 unchanged lines hidden (view full) --- 275 $(__objtool_obj) $(objtool_args) "$(@)";) 276objtool_obj = $(if $(patsubst y%,, \ 277 $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \ 278 $(__objtool_obj)) 279 280endif # SKIP_STACK_VALIDATION 281endif # CONFIG_STACK_VALIDATION 282 |
283# Rebuild all objects when objtool changes, or is enabled/disabled. 284objtool_dep = $(objtool_obj) \ 285 $(wildcard include/config/orc/unwinder.h \ 286 include/config/stack/validation.h) 287 |
|
282define rule_cc_o_c 283 $(call echo-cmd,checksrc) $(cmd_checksrc) \ 284 $(call cmd_and_fixdep,cc_o_c) \ 285 $(cmd_modversions_c) \ 286 $(call echo-cmd,objtool) $(cmd_objtool) \ 287 $(call echo-cmd,record_mcount) $(cmd_record_mcount) 288endef 289 --- 6 unchanged lines hidden (view full) --- 296# List module undefined symbols (or empty line if not enabled) 297ifdef CONFIG_TRIM_UNUSED_KSYMS 298cmd_undef_syms = $(NM) $@ | sed -n 's/^ \+U //p' | xargs echo 299else 300cmd_undef_syms = echo 301endif 302 303# Built-in and composite module parts | 288define rule_cc_o_c 289 $(call echo-cmd,checksrc) $(cmd_checksrc) \ 290 $(call cmd_and_fixdep,cc_o_c) \ 291 $(cmd_modversions_c) \ 292 $(call echo-cmd,objtool) $(cmd_objtool) \ 293 $(call echo-cmd,record_mcount) $(cmd_record_mcount) 294endef 295 --- 6 unchanged lines hidden (view full) --- 302# List module undefined symbols (or empty line if not enabled) 303ifdef CONFIG_TRIM_UNUSED_KSYMS 304cmd_undef_syms = $(NM) $@ | sed -n 's/^ \+U //p' | xargs echo 305else 306cmd_undef_syms = echo 307endif 308 309# Built-in and composite module parts |
304$(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_obj) FORCE | 310$(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE |
305 $(call cmd,force_checksrc) 306 $(call if_changed_rule,cc_o_c) 307 308# Single-part modules are special since we need to mark them in $(MODVERDIR) 309 | 311 $(call cmd,force_checksrc) 312 $(call if_changed_rule,cc_o_c) 313 314# Single-part modules are special since we need to mark them in $(MODVERDIR) 315 |
310$(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_obj) FORCE | 316$(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) $(objtool_dep) FORCE |
311 $(call cmd,force_checksrc) 312 $(call if_changed_rule,cc_o_c) 313 @{ echo $(@:.o=.ko); echo $@; \ 314 $(cmd_undef_syms); } > $(MODVERDIR)/$(@F:.o=.mod) 315 316quiet_cmd_cc_lst_c = MKLST $@ 317 cmd_cc_lst_c = $(CC) $(c_flags) -g -c -o $*.o $< && \ 318 $(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \ --- 78 unchanged lines hidden (view full) --- 397 -T $(@D)/.tmp_$(@F:.o=.ver); \ 398 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \ 399 else \ 400 mv -f $(@D)/.tmp_$(@F) $@; \ 401 fi; 402endif 403endif 404 | 317 $(call cmd,force_checksrc) 318 $(call if_changed_rule,cc_o_c) 319 @{ echo $(@:.o=.ko); echo $@; \ 320 $(cmd_undef_syms); } > $(MODVERDIR)/$(@F:.o=.mod) 321 322quiet_cmd_cc_lst_c = MKLST $@ 323 cmd_cc_lst_c = $(CC) $(c_flags) -g -c -o $*.o $< && \ 324 $(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \ --- 78 unchanged lines hidden (view full) --- 403 -T $(@D)/.tmp_$(@F:.o=.ver); \ 404 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \ 405 else \ 406 mv -f $(@D)/.tmp_$(@F) $@; \ 407 fi; 408endif 409endif 410 |
405$(obj)/%.o: $(src)/%.S $(objtool_obj) FORCE | 411$(obj)/%.o: $(src)/%.S $(objtool_dep) FORCE |
406 $(call if_changed_rule,as_o_S) 407 408targets += $(real-objs-y) $(real-objs-m) $(lib-y) 409targets += $(extra-y) $(MAKECMDGOALS) $(always) 410 411# Linker scripts preprocessor (.lds.S -> .lds) 412# --------------------------------------------------------------------------- 413quiet_cmd_cpp_lds_S = LDS $@ --- 175 unchanged lines hidden --- | 412 $(call if_changed_rule,as_o_S) 413 414targets += $(real-objs-y) $(real-objs-m) $(lib-y) 415targets += $(extra-y) $(MAKECMDGOALS) $(always) 416 417# Linker scripts preprocessor (.lds.S -> .lds) 418# --------------------------------------------------------------------------- 419quiet_cmd_cpp_lds_S = LDS $@ --- 175 unchanged lines hidden --- |