xref: /openbmc/linux/Kbuild (revision 86feeaa8)
1*86feeaa8SSam Ravnborg#
2*86feeaa8SSam Ravnborg# Kbuild for top-level directory of the kernel
3*86feeaa8SSam Ravnborg# This file takes care of the following:
4*86feeaa8SSam Ravnborg# 1) Generate asm-offsets.h
5*86feeaa8SSam Ravnborg
6*86feeaa8SSam Ravnborg#####
7*86feeaa8SSam Ravnborg# 1) Generate asm-offsets.h
8*86feeaa8SSam Ravnborg#
9*86feeaa8SSam Ravnborg
10*86feeaa8SSam Ravnborgoffsets-file := include/asm-$(ARCH)/asm-offsets.h
11*86feeaa8SSam Ravnborg
12*86feeaa8SSam Ravnborgalways  := $(offsets-file)
13*86feeaa8SSam Ravnborgtargets := $(offsets-file)
14*86feeaa8SSam Ravnborgtargets += arch/$(ARCH)/kernel/asm-offsets.s
15*86feeaa8SSam Ravnborg
16*86feeaa8SSam Ravnborgquiet_cmd_offsets = GEN     $@
17*86feeaa8SSam Ravnborgdefine cmd_offsets
18*86feeaa8SSam Ravnborg	cat $< | \
19*86feeaa8SSam Ravnborg	(set -e; \
20*86feeaa8SSam Ravnborg	 echo "#ifndef __ASM_OFFSETS_H__"; \
21*86feeaa8SSam Ravnborg	 echo "#define __ASM_OFFSETS_H__"; \
22*86feeaa8SSam Ravnborg	 echo "/*"; \
23*86feeaa8SSam Ravnborg	 echo " * DO NOT MODIFY."; \
24*86feeaa8SSam Ravnborg	 echo " *"; \
25*86feeaa8SSam Ravnborg	 echo " * This file was generated by $(srctree)/Kbuild"; \
26*86feeaa8SSam Ravnborg	 echo " *"; \
27*86feeaa8SSam Ravnborg	 echo " */"; \
28*86feeaa8SSam Ravnborg	 echo ""; \
29*86feeaa8SSam Ravnborg	 sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}"; \
30*86feeaa8SSam Ravnborg	 echo ""; \
31*86feeaa8SSam Ravnborg	 echo "#endif" ) > $@
32*86feeaa8SSam Ravnborgendef
33*86feeaa8SSam Ravnborg
34*86feeaa8SSam Ravnborg# We use internal kbuild rules to avoid the "is up to date" message from make
35*86feeaa8SSam Ravnborgarch/$(ARCH)/kernel/asm-offsets.s: arch/$(ARCH)/kernel/asm-offsets.c FORCE
36*86feeaa8SSam Ravnborg	$(Q)mkdir -p $(dir $@)
37*86feeaa8SSam Ravnborg	$(call if_changed_dep,cc_s_c)
38*86feeaa8SSam Ravnborg
39*86feeaa8SSam Ravnborg$(srctree)/$(offsets-file): arch/$(ARCH)/kernel/asm-offsets.s Kbuild
40*86feeaa8SSam Ravnborg	$(call cmd,offsets)
41*86feeaa8SSam Ravnborg
42