48 lines · 1.2 KB · Text
RawDownload
## Kbuild for top-level directory of the kernel# This file takes care of the following:# 1) Generate asm-offsets.h ###### 1) Generate asm-offsets.h# offsets-file := include/asm-$(ARCH)/asm-offsets.h always  := $(offsets-file)targets := $(offsets-file)targets += arch/$(ARCH)/kernel/asm-offsets.s # Default sed regexp - multiline due to syntax constraintsdefine sed-y	"/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"endef# Override default regexp for specific architecturessed-$(CONFIG_MIPS) := "/^@@@/{s/^@@@//; s/ \#.*\$$//; p;}" quiet_cmd_offsets = GEN     $@define cmd_offsets	(set -e; \	 echo "#ifndef __ASM_OFFSETS_H__"; \	 echo "#define __ASM_OFFSETS_H__"; \	 echo "/*"; \	 echo " * DO NOT MODIFY."; \	 echo " *"; \	 echo " * This file was generated by Kbuild"; \	 echo " *"; \	 echo " */"; \	 echo ""; \	 sed -ne $(sed-y) $<; \	 echo ""; \	 echo "#endif" ) > $@endef # We use internal kbuild rules to avoid the "is up to date" message from makearch/$(ARCH)/kernel/asm-offsets.s: arch/$(ARCH)/kernel/asm-offsets.c FORCE	$(Q)mkdir -p $(dir $@)	$(call if_changed_dep,cc_s_c) $(obj)/$(offsets-file): arch/$(ARCH)/kernel/asm-offsets.s Kbuild	$(Q)mkdir -p $(dir $@)	$(call cmd,offsets)