| H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 1 | out := $(obj)/../include/generated/asm | 
| David Howells | 10b6395 | 2012-10-02 18:01:57 +0100 | [diff] [blame] | 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 |  | 
 | 22 | syshdr_abi_unistd_32 := i386 | 
| David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 23 | $(uapi)/unistd_32.h: $(syscall32) $(syshdr) | 
| H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 24 | 	$(call if_changed,syshdr) | 
 | 25 |  | 
 | 26 | syshdr_abi_unistd_32_ia32 := i386 | 
 | 27 | syshdr_pfx_unistd_32_ia32 := ia32_ | 
 | 28 | $(out)/unistd_32_ia32.h: $(syscall32) $(syshdr) | 
 | 29 | 	$(call if_changed,syshdr) | 
 | 30 |  | 
| H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame] | 31 | syshdr_abi_unistd_x32 := common,x32 | 
 | 32 | syshdr_offset_unistd_x32 := __X32_SYSCALL_BIT | 
| David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 33 | $(uapi)/unistd_x32.h: $(syscall64) $(syshdr) | 
| H. Peter Anvin | 6cbb369 | 2012-02-14 14:38:31 -0800 | [diff] [blame] | 34 | 	$(call if_changed,syshdr) | 
 | 35 |  | 
| H. Peter Anvin | 6630f11 | 2012-02-14 14:18:50 -0800 | [diff] [blame] | 36 | syshdr_abi_unistd_64 := common,64 | 
| David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 37 | $(uapi)/unistd_64.h: $(syscall64) $(syshdr) | 
| H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 38 | 	$(call if_changed,syshdr) | 
 | 39 |  | 
| H. Peter Anvin | ea499fe | 2012-02-14 14:46:23 -0800 | [diff] [blame] | 40 | syshdr_abi_unistd_64_x32 := x32 | 
 | 41 | syshdr_pfx_unistd_64_x32 := x32_ | 
 | 42 | $(out)/unistd_64_x32.h: $(syscall64) $(syshdr) | 
 | 43 | 	$(call if_changed,syshdr) | 
 | 44 |  | 
| H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 45 | $(out)/syscalls_32.h: $(syscall32) $(systbl) | 
 | 46 | 	$(call if_changed,systbl) | 
 | 47 | $(out)/syscalls_64.h: $(syscall64) $(systbl) | 
 | 48 | 	$(call if_changed,systbl) | 
 | 49 |  | 
| David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 50 | uapisyshdr-y			+= unistd_32.h unistd_64.h unistd_x32.h | 
| H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 51 | syshdr-y			+= syscalls_32.h | 
| H. Peter Anvin | ea499fe | 2012-02-14 14:46:23 -0800 | [diff] [blame] | 52 | 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] | 53 | syshdr-$(CONFIG_X86_64)		+= syscalls_64.h | 
 | 54 |  | 
| David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 55 | targets	+= $(uapisyshdr-y) $(syshdr-y) | 
| H. Peter Anvin | d181764 | 2011-11-11 15:55:49 -0800 | [diff] [blame] | 56 |  | 
| David Howells | ec28b7f | 2012-10-02 18:01:56 +0100 | [diff] [blame] | 57 | all: $(addprefix $(uapi)/,$(uapisyshdr-y)) | 
 | 58 | all: $(addprefix $(out)/,$(syshdr-y)) |