blob: 3236aebc828d45eb7f8761b57d23861e3b46c7ad [file] [log] [blame]
H. Peter Anvind1817642011-11-11 15:55:49 -08001out := $(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 $@
H. Peter Anvin6cbb3692012-02-14 14:38:31 -080013 cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
14 '$(syshdr_abi_$(basetarget))' \
15 '$(syshdr_pfx_$(basetarget))' \
16 '$(syshdr_offset_$(basetarget))'
H. Peter Anvind1817642011-11-11 15:55:49 -080017quiet_cmd_systbl = SYSTBL $@
18 cmd_systbl = $(CONFIG_SHELL) '$(systbl)' $< $@
19
20syshdr_abi_unistd_32 := i386
21$(out)/unistd_32.h: $(syscall32) $(syshdr)
22 $(call if_changed,syshdr)
23
24syshdr_abi_unistd_32_ia32 := i386
25syshdr_pfx_unistd_32_ia32 := ia32_
26$(out)/unistd_32_ia32.h: $(syscall32) $(syshdr)
27 $(call if_changed,syshdr)
28
H. Peter Anvin6cbb3692012-02-14 14:38:31 -080029syshdr_abi_unistd_x32 := common,x32
30syshdr_offset_unistd_x32 := __X32_SYSCALL_BIT
31$(out)/unistd_x32.h: $(syscall64) $(syshdr)
32 $(call if_changed,syshdr)
33
H. Peter Anvin6630f112012-02-14 14:18:50 -080034syshdr_abi_unistd_64 := common,64
H. Peter Anvind1817642011-11-11 15:55:49 -080035$(out)/unistd_64.h: $(syscall64) $(syshdr)
36 $(call if_changed,syshdr)
37
H. Peter Anvinea499fe2012-02-14 14:46:23 -080038syshdr_abi_unistd_64_x32 := x32
39syshdr_pfx_unistd_64_x32 := x32_
40$(out)/unistd_64_x32.h: $(syscall64) $(syshdr)
41 $(call if_changed,syshdr)
42
H. Peter Anvind1817642011-11-11 15:55:49 -080043$(out)/syscalls_32.h: $(syscall32) $(systbl)
44 $(call if_changed,systbl)
45$(out)/syscalls_64.h: $(syscall64) $(systbl)
46 $(call if_changed,systbl)
47
H. Peter Anvin6cbb3692012-02-14 14:38:31 -080048syshdr-y += unistd_32.h unistd_64.h unistd_x32.h
H. Peter Anvind1817642011-11-11 15:55:49 -080049syshdr-y += syscalls_32.h
H. Peter Anvinea499fe2012-02-14 14:46:23 -080050syshdr-$(CONFIG_X86_64) += unistd_32_ia32.h unistd_64_x32.h
H. Peter Anvind1817642011-11-11 15:55:49 -080051syshdr-$(CONFIG_X86_64) += syscalls_64.h
52
53targets += $(syshdr-y)
54
55all: $(addprefix $(out)/,$(targets))