xref: /linux-6.15/arch/mips/kernel/syscalls/Makefile (revision faf243ed)
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
8syscalln32 := $(src)/syscall_n32.tbl
9syscalln64 := $(src)/syscall_n64.tbl
10syscallo32 := $(src)/syscall_o32.tbl
11syshdr := $(srctree)/scripts/syscallhdr.sh
12sysnr := $(srctree)/$(src)/syscallnr.sh
13systbl := $(srctree)/scripts/syscalltbl.sh
14
15quiet_cmd_syshdr = SYSHDR  $@
16      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --offset __NR_Linux $< $@
17
18quiet_cmd_sysnr = SYSNR   $@
19      cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@'		\
20		  '$(sysnr_abis_$(basetarget))'			\
21		  '$(sysnr_pfx_$(basetarget))'
22
23quiet_cmd_systbl = SYSTBL  $@
24      cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
25
26$(uapi)/unistd_n32.h: $(syscalln32) $(syshdr) FORCE
27	$(call if_changed,syshdr)
28
29$(uapi)/unistd_n64.h: $(syscalln64) $(syshdr) FORCE
30	$(call if_changed,syshdr)
31
32$(uapi)/unistd_o32.h: $(syscallo32) $(syshdr) FORCE
33	$(call if_changed,syshdr)
34
35sysnr_pfx_unistd_nr_n32 := N32
36$(kapi)/unistd_nr_n32.h: $(syscalln32) $(sysnr) FORCE
37	$(call if_changed,sysnr)
38
39sysnr_pfx_unistd_nr_n64 := 64
40$(kapi)/unistd_nr_n64.h: $(syscalln64) $(sysnr) FORCE
41	$(call if_changed,sysnr)
42
43sysnr_pfx_unistd_nr_o32 := O32
44$(kapi)/unistd_nr_o32.h: $(syscallo32) $(sysnr) FORCE
45	$(call if_changed,sysnr)
46
47$(kapi)/syscall_table_n32.h: $(syscalln32) $(systbl) FORCE
48	$(call if_changed,systbl)
49
50$(kapi)/syscall_table_n64.h: $(syscalln64) $(systbl) FORCE
51	$(call if_changed,systbl)
52
53$(kapi)/syscall_table_o32.h: $(syscallo32) $(systbl) FORCE
54	$(call if_changed,systbl)
55
56uapisyshdr-y		+= unistd_n32.h			\
57			   unistd_n64.h			\
58			   unistd_o32.h
59kapisyshdr-y		+= syscall_table_n32.h		\
60			   syscall_table_n64.h		\
61			   syscall_table_o32.h		\
62			   unistd_nr_n32.h		\
63			   unistd_nr_n64.h		\
64			   unistd_nr_o32.h
65
66uapisyshdr-y	:= $(addprefix $(uapi)/, $(uapisyshdr-y))
67kapisyshdr-y	:= $(addprefix $(kapi)/, $(kapisyshdr-y))
68targets		+= $(addprefix ../../../../, $(uapisyshdr-y) $(kapisyshdr-y))
69
70PHONY += all
71all: $(uapisyshdr-y) $(kapisyshdr-y)
72	@:
73