1 # SPDX-License-Identifier: GPL-2.0
2 kapi := arch/$(SRCARCH)/include/generated/asm
3 uapi := arch/$(SRCARCH)/include/generated/uapi/asm
5 _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \
6 $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)')
8 syscalln32 := $(src)/syscall_n32.tbl
9 syscalln64 := $(src)/syscall_n64.tbl
10 syscallo32 := $(src)/syscall_o32.tbl
11 syshdr := $(srctree)/$(src)/syscallhdr.sh
12 sysnr := $(srctree)/$(src)/syscallnr.sh
13 systbl := $(srctree)/$(src)/syscalltbl.sh
15 quiet_cmd_syshdr = SYSHDR $@
16 cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
17 '$(syshdr_abis_$(basetarget))' \
18 '$(syshdr_pfx_$(basetarget))' \
19 '$(syshdr_offset_$(basetarget))'
21 quiet_cmd_sysnr = SYSNR $@
22 cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
23 '$(sysnr_abis_$(basetarget))' \
24 '$(sysnr_pfx_$(basetarget))' \
25 '$(sysnr_offset_$(basetarget))'
27 quiet_cmd_systbl = SYSTBL $@
28 cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
29 '$(systbl_abis_$(basetarget))' \
30 '$(systbl_abi_$(basetarget))' \
31 '$(systbl_offset_$(basetarget))'
33 syshdr_offset_unistd_n32 := __NR_Linux
34 $(uapi)/unistd_n32.h: $(syscalln32) $(syshdr) FORCE
35 $(call if_changed,syshdr)
37 syshdr_offset_unistd_n64 := __NR_Linux
38 $(uapi)/unistd_n64.h: $(syscalln64) $(syshdr) FORCE
39 $(call if_changed,syshdr)
41 syshdr_offset_unistd_o32 := __NR_Linux
42 $(uapi)/unistd_o32.h: $(syscallo32) $(syshdr) FORCE
43 $(call if_changed,syshdr)
45 sysnr_pfx_unistd_nr_n32 := N32
46 sysnr_offset_unistd_nr_n32 := 6000
47 $(uapi)/unistd_nr_n32.h: $(syscalln32) $(sysnr) FORCE
48 $(call if_changed,sysnr)
50 sysnr_pfx_unistd_nr_n64 := 64
51 sysnr_offset_unistd_nr_n64 := 5000
52 $(uapi)/unistd_nr_n64.h: $(syscalln64) $(sysnr) FORCE
53 $(call if_changed,sysnr)
55 sysnr_pfx_unistd_nr_o32 := O32
56 sysnr_offset_unistd_nr_o32 := 4000
57 $(uapi)/unistd_nr_o32.h: $(syscallo32) $(sysnr) FORCE
58 $(call if_changed,sysnr)
60 systbl_abi_syscall_table_32_o32 := 32_o32
61 systbl_offset_syscall_table_32_o32 := 4000
62 $(kapi)/syscall_table_32_o32.h: $(syscallo32) $(systbl) FORCE
63 $(call if_changed,systbl)
65 systbl_abi_syscall_table_64_n32 := 64_n32
66 systbl_offset_syscall_table_64_n32 := 6000
67 $(kapi)/syscall_table_64_n32.h: $(syscalln32) $(systbl) FORCE
68 $(call if_changed,systbl)
70 systbl_abi_syscall_table_64_n64 := 64_n64
71 systbl_offset_syscall_table_64_n64 := 5000
72 $(kapi)/syscall_table_64_n64.h: $(syscalln64) $(systbl) FORCE
73 $(call if_changed,systbl)
75 systbl_abi_syscall_table_64_o32 := 64_o32
76 systbl_offset_syscall_table_64_o32 := 4000
77 $(kapi)/syscall_table_64_o32.h: $(syscallo32) $(systbl) FORCE
78 $(call if_changed,systbl)
80 uapisyshdr-y += unistd_n32.h \
86 kapisyshdr-y += syscall_table_32_o32.h \
87 syscall_table_64_n32.h \
88 syscall_table_64_n64.h \
89 syscall_table_64_o32.h
91 uapisyshdr-y := $(addprefix $(uapi)/, $(uapisyshdr-y))
92 kapisyshdr-y := $(addprefix $(kapi)/, $(kapisyshdr-y))
93 targets += $(addprefix ../../../../, $(uapisyshdr-y) $(kapisyshdr-y))
96 all: $(uapisyshdr-y) $(kapisyshdr-y)