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)/scripts/syscallhdr.sh
12 sysnr := $(srctree)/$(src)/syscallnr.sh
13 systbl := $(srctree)/scripts/syscalltbl.sh
15 quiet_cmd_syshdr = SYSHDR $@
16 cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux $< $@
18 quiet_cmd_sysnr = SYSNR $@
19 cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
20 '$(sysnr_abis_$(basetarget))' \
21 '$(sysnr_pfx_$(basetarget))' \
22 '$(sysnr_offset_$(basetarget))'
24 quiet_cmd_systbl = SYSTBL $@
25 cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
27 $(uapi)/unistd_n32.h: $(syscalln32) $(syshdr) FORCE
28 $(call if_changed,syshdr)
30 $(uapi)/unistd_n64.h: $(syscalln64) $(syshdr) FORCE
31 $(call if_changed,syshdr)
33 $(uapi)/unistd_o32.h: $(syscallo32) $(syshdr) FORCE
34 $(call if_changed,syshdr)
36 sysnr_pfx_unistd_nr_n32 := N32
37 sysnr_offset_unistd_nr_n32 := 6000
38 $(kapi)/unistd_nr_n32.h: $(syscalln32) $(sysnr) FORCE
39 $(call if_changed,sysnr)
41 sysnr_pfx_unistd_nr_n64 := 64
42 sysnr_offset_unistd_nr_n64 := 5000
43 $(kapi)/unistd_nr_n64.h: $(syscalln64) $(sysnr) FORCE
44 $(call if_changed,sysnr)
46 sysnr_pfx_unistd_nr_o32 := O32
47 sysnr_offset_unistd_nr_o32 := 4000
48 $(kapi)/unistd_nr_o32.h: $(syscallo32) $(sysnr) FORCE
49 $(call if_changed,sysnr)
51 $(kapi)/syscall_table_n32.h: $(syscalln32) $(systbl) FORCE
52 $(call if_changed,systbl)
54 $(kapi)/syscall_table_n64.h: $(syscalln64) $(systbl) FORCE
55 $(call if_changed,systbl)
57 $(kapi)/syscall_table_o32.h: $(syscallo32) $(systbl) FORCE
58 $(call if_changed,systbl)
60 uapisyshdr-y += unistd_n32.h \
63 kapisyshdr-y += syscall_table_n32.h \
70 uapisyshdr-y := $(addprefix $(uapi)/, $(uapisyshdr-y))
71 kapisyshdr-y := $(addprefix $(kapi)/, $(kapisyshdr-y))
72 targets += $(addprefix ../../../../, $(uapisyshdr-y) $(kapisyshdr-y))
75 all: $(uapisyshdr-y) $(kapisyshdr-y)