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