aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/syscalls/Makefile
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2011-11-11 18:55:49 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2011-11-17 16:35:36 -0500
commitd181764ccf6207e02abb95fb3052639b947f4833 (patch)
treecd37381b20d437d5d352a07b20fd4a01d332759b /arch/x86/syscalls/Makefile
parentd5e553d6e0a4bdea43adae7373e3fa144b9a1aaa (diff)
x86: Machine-readable syscall tables and scripts to process them
Create a simple set of syscall tables and scripts to turn them into both header files (unistd_*.h) and macros for generating the system call tables. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/syscalls/Makefile')
-rw-r--r--arch/x86/syscalls/Makefile43
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/x86/syscalls/Makefile b/arch/x86/syscalls/Makefile
new file mode 100644
index 000000000000..564b2476fede
--- /dev/null
+++ b/arch/x86/syscalls/Makefile
@@ -0,0 +1,43 @@
1out := $(obj)/../include/generated/asm
2
3# Create output directory if not already present
4_dummy := $(shell [ -d '$(out)' ] || mkdir -p '$(out)')
5
6syscall32 := $(srctree)/$(src)/syscall_32.tbl
7syscall64 := $(srctree)/$(src)/syscall_64.tbl
8
9syshdr := $(srctree)/$(src)/syscallhdr.sh
10systbl := $(srctree)/$(src)/syscalltbl.sh
11
12quiet_cmd_syshdr = SYSHDR $@
13 cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' $< $@ \
14 $(syshdr_abi_$(basetarget)) $(syshdr_pfx_$(basetarget))
15quiet_cmd_systbl = SYSTBL $@
16 cmd_systbl = $(CONFIG_SHELL) '$(systbl)' $< $@
17
18syshdr_abi_unistd_32 := i386
19$(out)/unistd_32.h: $(syscall32) $(syshdr)
20 $(call if_changed,syshdr)
21
22syshdr_abi_unistd_32_ia32 := i386
23syshdr_pfx_unistd_32_ia32 := ia32_
24$(out)/unistd_32_ia32.h: $(syscall32) $(syshdr)
25 $(call if_changed,syshdr)
26
27syshdr_abi_unistd_64 := 64
28$(out)/unistd_64.h: $(syscall64) $(syshdr)
29 $(call if_changed,syshdr)
30
31$(out)/syscalls_32.h: $(syscall32) $(systbl)
32 $(call if_changed,systbl)
33$(out)/syscalls_64.h: $(syscall64) $(systbl)
34 $(call if_changed,systbl)
35
36syshdr-y += unistd_32.h unistd_64.h
37syshdr-y += syscalls_32.h
38syshdr-$(CONFIG_X86_64) += unistd_32_ia32.h
39syshdr-$(CONFIG_X86_64) += syscalls_64.h
40
41targets += $(syshdr-y)
42
43all: $(addprefix $(out)/,$(targets))