|
1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | +kapi := arch/$(SRCARCH)/include/generated/asm |
| 3 | +uapi := arch/$(SRCARCH)/include/generated/uapi/asm |
2 | 4 |
|
3 | | -gen := arch/$(ARCH)/include/generated |
4 | | -kapi := $(gen)/asm |
5 | | -uapi := $(gen)/uapi/asm |
6 | | - |
7 | | -syscall := $(src)/syscall.tbl |
8 | | -systbl := $(src)/syscalltbl |
9 | | - |
10 | | -gen-y := $(kapi)/syscall_table.h |
11 | | -kapi-hdrs-y := $(kapi)/unistd_nr.h |
12 | | -uapi-hdrs-y := $(uapi)/unistd_32.h |
13 | | -uapi-hdrs-y += $(uapi)/unistd_64.h |
14 | | - |
15 | | -targets += $(addprefix ../../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y)) |
16 | | - |
17 | | -PHONY += kapi uapi |
18 | | - |
19 | | -kapi: $(gen-y) $(kapi-hdrs-y) |
20 | | -uapi: $(uapi-hdrs-y) |
21 | | - |
22 | | - |
23 | | -# Create output directory if not already present |
24 | 5 | $(shell mkdir -p $(uapi) $(kapi)) |
25 | 6 |
|
26 | | -quiet_cmd_syshdr = SYSHDR $@ |
27 | | - cmd_syshdr = $(CONFIG_SHELL) '$(systbl)' -H -a $(syshdr_abi_$(basetarget)) -f "$@" < $< > $@ |
28 | | - |
29 | | -quiet_cmd_sysnr = SYSNR $@ |
30 | | - cmd_sysnr = $(CONFIG_SHELL) '$(systbl)' -N -a $(sysnr_abi_$(basetarget)) < $< > $@ |
| 7 | +syscall := $(src)/syscall.tbl |
| 8 | +syshdr := $(srctree)/scripts/syscallhdr.sh |
| 9 | +systbl := $(srctree)/scripts/syscalltbl.sh |
31 | 10 |
|
32 | | -quiet_cmd_syscalls = SYSTBL $@ |
33 | | - cmd_syscalls = $(CONFIG_SHELL) '$(systbl)' -S < $< > $@ |
| 11 | +quiet_cmd_syshdr = SYSHDR $@ |
| 12 | + cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr --abis common,$* $< $@ |
34 | 13 |
|
35 | | -syshdr_abi_unistd_32 := common,32 |
36 | | -$(uapi)/unistd_32.h: $(syscall) $(systbl) FORCE |
37 | | - $(call if_changed,syshdr) |
| 14 | +quiet_cmd_systbl = SYSTBL $@ |
| 15 | + cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis common,$* $< $@ |
38 | 16 |
|
39 | | -syshdr_abi_unistd_64 := common,64 |
40 | | -$(uapi)/unistd_64.h: $(syscall) $(systbl) FORCE |
| 17 | +$(uapi)/unistd_%.h: $(syscall) $(syshdr) FORCE |
41 | 18 | $(call if_changed,syshdr) |
42 | 19 |
|
43 | 20 | $(kapi)/syscall_table.h: $(syscall) $(systbl) FORCE |
44 | | - $(call if_changed,syscalls) |
| 21 | + $(call if_changed,systbl) |
| 22 | + |
| 23 | +uapisyshdr-y += unistd_64.h |
| 24 | +kapisyshdr-y += syscall_table.h |
| 25 | + |
| 26 | +uapisyshdr-y := $(addprefix $(uapi)/, $(uapisyshdr-y)) |
| 27 | +kapisyshdr-y := $(addprefix $(kapi)/, $(kapisyshdr-y)) |
| 28 | +targets += $(addprefix ../../../../, $(uapisyshdr-y) $(kapisyshdr-y)) |
45 | 29 |
|
46 | | -sysnr_abi_unistd_nr := common,32,64 |
47 | | -$(kapi)/unistd_nr.h: $(syscall) $(systbl) FORCE |
48 | | - $(call if_changed,sysnr) |
| 30 | +PHONY += all |
| 31 | +all: $(uapisyshdr-y) $(kapisyshdr-y) |
| 32 | + @: |
0 commit comments