1# SPDX-License-Identifier: GPL-2.0
2kapi := arch/$(SRCARCH)/include/generated/asm
3uapi := arch/$(SRCARCH)/include/generated/uapi/asm
4
5$(shell mkdir -p $(uapi) $(kapi))
6
7syscall := $(src)/syscall.tbl
8syshdr := $(srctree)/scripts/syscallhdr.sh
9systbl := $(srctree)/scripts/syscalltbl.sh
10
11quiet_cmd_syshdr = SYSHDR  $@
12      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis $(abis) $< $@
13
14quiet_cmd_systbl = SYSTBL  $@
15      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) $< $@
16
17$(uapi)/unistd_32.h: abis := common,nospu,32
18$(uapi)/unistd_32.h: $(syscall) $(syshdr) FORCE
19	$(call if_changed,syshdr)
20
21$(uapi)/unistd_64.h: abis := common,nospu,64
22$(uapi)/unistd_64.h: $(syscall) $(syshdr) FORCE
23	$(call if_changed,syshdr)
24
25$(kapi)/syscall_table_32.h: abis := common,nospu,32
26$(kapi)/syscall_table_32.h: $(syscall) $(systbl) FORCE
27	$(call if_changed,systbl)
28
29$(kapi)/syscall_table_64.h: abis := common,nospu,64
30$(kapi)/syscall_table_64.h: $(syscall) $(systbl) FORCE
31	$(call if_changed,systbl)
32
33$(kapi)/syscall_table_spu.h: abis := common,spu
34$(kapi)/syscall_table_spu.h: $(syscall) $(systbl) FORCE
35	$(call if_changed,systbl)
36
37uapisyshdr-y		+= unistd_32.h unistd_64.h
38kapisyshdr-y		+= syscall_table_32.h		\
39			   syscall_table_64.h		\
40			   syscall_table_spu.h
41
42uapisyshdr-y	:= $(addprefix $(uapi)/, $(uapisyshdr-y))
43kapisyshdr-y	:= $(addprefix $(kapi)/, $(kapisyshdr-y))
44targets		+= $(addprefix ../../../../, $(uapisyshdr-y) $(kapisyshdr-y))
45
46PHONY += all
47all: $(uapisyshdr-y) $(kapisyshdr-y)
48	@:
49