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