Ingo Molnar | 1f57d5d | 2015-06-03 18:36:41 +0200 | [diff] [blame] | 1 | out := $(obj)/../../include/generated/asm |
| 2 | uapi := $(obj)/../../include/generated/uapi/asm |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 3 | |
| 4 | # Create output directory if not already present |
David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 5 | _dummy := $(shell [ -d '$(out)' ] || mkdir -p '$(out)') \ |
| 6 | $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 7 | |
| 8 | syscall32 := $(srctree)/$(src)/syscall_32.tbl |
| 9 | syscall64 := $(srctree)/$(src)/syscall_64.tbl |
| 10 | |
| 11 | syshdr := $(srctree)/$(src)/syscallhdr.sh |
| 12 | systbl := $(srctree)/$(src)/syscalltbl.sh |
| 13 | |
| 14 | quiet_cmd_syshdr = SYSHDR $@ |
H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame] | 15 | cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \ |
| 16 | '$(syshdr_abi_$(basetarget))' \ |
| 17 | '$(syshdr_pfx_$(basetarget))' \ |
| 18 | '$(syshdr_offset_$(basetarget))' |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 19 | quiet_cmd_systbl = SYSTBL $@ |
| 20 | cmd_systbl = $(CONFIG_SHELL) '$(systbl)' $< $@ |
| 21 | |
Juergen Gross | 9b4ade2 | 2015-01-21 08:49:22 +0100 | [diff] [blame] | 22 | quiet_cmd_hypercalls = HYPERCALLS $@ |
| 23 | cmd_hypercalls = $(CONFIG_SHELL) '$<' $@ $(filter-out $<,$^) |
| 24 | |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 25 | syshdr_abi_unistd_32 := i386 |
David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 26 | $(uapi)/unistd_32.h: $(syscall32) $(syshdr) |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 27 | $(call if_changed,syshdr) |
| 28 | |
| 29 | syshdr_abi_unistd_32_ia32 := i386 |
| 30 | syshdr_pfx_unistd_32_ia32 := ia32_ |
| 31 | $(out)/unistd_32_ia32.h: $(syscall32) $(syshdr) |
| 32 | $(call if_changed,syshdr) |
| 33 | |
H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame] | 34 | syshdr_abi_unistd_x32 := common,x32 |
| 35 | syshdr_offset_unistd_x32 := __X32_SYSCALL_BIT |
David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 36 | $(uapi)/unistd_x32.h: $(syscall64) $(syshdr) |
H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame] | 37 | $(call if_changed,syshdr) |
| 38 | |
H. Peter Anvin | 6630f11 | 2012-02-14 14:18:50 -0800 | [diff] [blame] | 39 | syshdr_abi_unistd_64 := common,64 |
David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 40 | $(uapi)/unistd_64.h: $(syscall64) $(syshdr) |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 41 | $(call if_changed,syshdr) |
| 42 | |
H. Peter Anvin | ea499fe | 2012-02-14 14:46:23 -0800 | [diff] [blame] | 43 | syshdr_abi_unistd_64_x32 := x32 |
| 44 | syshdr_pfx_unistd_64_x32 := x32_ |
| 45 | $(out)/unistd_64_x32.h: $(syscall64) $(syshdr) |
| 46 | $(call if_changed,syshdr) |
| 47 | |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 48 | $(out)/syscalls_32.h: $(syscall32) $(systbl) |
| 49 | $(call if_changed,systbl) |
| 50 | $(out)/syscalls_64.h: $(syscall64) $(systbl) |
| 51 | $(call if_changed,systbl) |
| 52 | |
Juergen Gross | 9b4ade2 | 2015-01-21 08:49:22 +0100 | [diff] [blame] | 53 | $(out)/xen-hypercalls.h: $(srctree)/scripts/xen-hypercalls.sh |
| 54 | $(call if_changed,hypercalls) |
| 55 | |
| 56 | $(out)/xen-hypercalls.h: $(srctree)/include/xen/interface/xen*.h |
| 57 | |
David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 58 | uapisyshdr-y += unistd_32.h unistd_64.h unistd_x32.h |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 59 | syshdr-y += syscalls_32.h |
H. Peter Anvin | ea499fe | 2012-02-14 14:46:23 -0800 | [diff] [blame] | 60 | syshdr-$(CONFIG_X86_64) += unistd_32_ia32.h unistd_64_x32.h |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 61 | syshdr-$(CONFIG_X86_64) += syscalls_64.h |
Juergen Gross | 9b4ade2 | 2015-01-21 08:49:22 +0100 | [diff] [blame] | 62 | syshdr-$(CONFIG_XEN) += xen-hypercalls.h |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 63 | |
David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 64 | targets += $(uapisyshdr-y) $(syshdr-y) |
H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 65 | |
Masahiro Yamada | e6bcd1a | 2014-04-10 10:35:42 +0900 | [diff] [blame] | 66 | PHONY += all |
David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 67 | all: $(addprefix $(uapi)/,$(uapisyshdr-y)) |
| 68 | all: $(addprefix $(out)/,$(syshdr-y)) |
Masahiro Yamada | e6bcd1a | 2014-04-10 10:35:42 +0900 | [diff] [blame] | 69 | @: |