Kbuild

Source file repositories/reference/linux-study-clean/Kbuild

File Facts

System
Linux kernel
Corpus path
Kbuild
Extension
[no extension]
Size
3129 bytes
Lines
118
Domain
Repository Root And Misc
Bucket
Kbuild
Inferred role
Repository Root And Misc: Kbuild
Status
atlas-only

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0
#
# Kbuild for top-level directory of the kernel

# Prepare global headers and check sanity before descending into sub-directories
# ---------------------------------------------------------------------------

# Generate bounds.h

bounds-file := include/generated/bounds.h

targets := kernel/bounds.s

$(bounds-file): kernel/bounds.s FORCE
	$(call filechk,offsets,__LINUX_BOUNDS_H__)

# Generate timeconst.h

timeconst-file := include/generated/timeconst.h

filechk_gentimeconst = echo $(CONFIG_HZ) | bc -q $<

$(timeconst-file): kernel/time/timeconst.bc FORCE
	$(call filechk,gentimeconst)

# Generate asm-offsets.h

offsets-file := include/generated/asm-offsets.h

targets += arch/$(SRCARCH)/kernel/asm-offsets.s

arch/$(SRCARCH)/kernel/asm-offsets.s: $(timeconst-file) $(bounds-file)

$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s FORCE
	$(call filechk,offsets,__ASM_OFFSETS_H__)

# Generate rq-offsets.h

rq-offsets-file := include/generated/rq-offsets.h

targets += kernel/sched/rq-offsets.s

kernel/sched/rq-offsets.s: $(offsets-file)

$(rq-offsets-file): kernel/sched/rq-offsets.s FORCE
	$(call filechk,offsets,__RQ_OFFSETS_H__)

# Check for missing system calls

missing-syscalls-file := .tmp_missing-syscalls$(missing_syscalls_instance)

targets += $(missing-syscalls-file)

quiet_cmd_syscalls = CALL    $< $(addprefix for ,$(missing_syscalls_instance))
      cmd_syscalls = DEPFILE=$(depfile) $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags); touch $@

$(missing-syscalls-file): scripts/checksyscalls.sh $(rq-offsets-file) FORCE
	$(call if_changed_dep,syscalls)

PHONY += missing-syscalls
missing-syscalls: $(missing-syscalls-file)

# Check the manual modification of atomic headers

quiet_cmd_check_sha1 = CHKSHA1 $<
      cmd_check_sha1 = \
	if ! command -v sha1sum >/dev/null; then \
		echo "warning: cannot check the header due to sha1sum missing"; \
		exit 0; \
	fi; \

Annotation

Implementation Notes