1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# linux/arch/arm/tools/Makefile 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# Copyright (C) 2001 Russell King 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyun 8*4882a593Smuzhiyungen := arch/$(ARCH)/include/generated 9*4882a593Smuzhiyunkapi := $(gen)/asm 10*4882a593Smuzhiyunuapi := $(gen)/uapi/asm 11*4882a593Smuzhiyunsyshdr := $(srctree)/$(src)/syscallhdr.sh 12*4882a593Smuzhiyunsysnr := $(srctree)/$(src)/syscallnr.sh 13*4882a593Smuzhiyunsystbl := $(srctree)/$(src)/syscalltbl.sh 14*4882a593Smuzhiyunsyscall := $(srctree)/$(src)/syscall.tbl 15*4882a593Smuzhiyun 16*4882a593Smuzhiyungen-y := $(gen)/calls-oabi.S 17*4882a593Smuzhiyungen-y += $(gen)/calls-eabi.S 18*4882a593Smuzhiyunkapi-hdrs-y := $(kapi)/unistd-nr.h 19*4882a593Smuzhiyunkapi-hdrs-y += $(kapi)/mach-types.h 20*4882a593Smuzhiyunuapi-hdrs-y := $(uapi)/unistd-common.h 21*4882a593Smuzhiyunuapi-hdrs-y += $(uapi)/unistd-oabi.h 22*4882a593Smuzhiyunuapi-hdrs-y += $(uapi)/unistd-eabi.h 23*4882a593Smuzhiyun 24*4882a593Smuzhiyuntargets += $(addprefix ../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y)) 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunPHONY += kapi uapi 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunkapi: $(kapi-hdrs-y) $(gen-y) 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunuapi: $(uapi-hdrs-y) 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun# Create output directory if not already present 33*4882a593Smuzhiyun_dummy := $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') \ 34*4882a593Smuzhiyun $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunquiet_cmd_gen_mach = GEN $@ 37*4882a593Smuzhiyun cmd_gen_mach = mkdir -p $(dir $@) && \ 38*4882a593Smuzhiyun $(AWK) -f $(filter-out $(PHONY),$^) > $@ 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun$(kapi)/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE 41*4882a593Smuzhiyun $(call if_changed,gen_mach) 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunquiet_cmd_syshdr = SYSHDR $@ 44*4882a593Smuzhiyun cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \ 45*4882a593Smuzhiyun '$(syshdr_abi_$(basetarget))' \ 46*4882a593Smuzhiyun '$(syshdr_pfx_$(basetarget))' \ 47*4882a593Smuzhiyun '__NR_SYSCALL_BASE' 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunquiet_cmd_systbl = SYSTBL $@ 50*4882a593Smuzhiyun cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \ 51*4882a593Smuzhiyun '$(systbl_abi_$(basetarget))' 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunquiet_cmd_sysnr = SYSNR $@ 54*4882a593Smuzhiyun cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \ 55*4882a593Smuzhiyun '$(syshdr_abi_$(basetarget))' 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunsyshdr_abi_unistd-common := common 58*4882a593Smuzhiyun$(uapi)/unistd-common.h: $(syscall) $(syshdr) FORCE 59*4882a593Smuzhiyun $(call if_changed,syshdr) 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunsyshdr_abi_unistd-oabi := oabi 62*4882a593Smuzhiyun$(uapi)/unistd-oabi.h: $(syscall) $(syshdr) FORCE 63*4882a593Smuzhiyun $(call if_changed,syshdr) 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunsyshdr_abi_unistd-eabi := eabi 66*4882a593Smuzhiyun$(uapi)/unistd-eabi.h: $(syscall) $(syshdr) FORCE 67*4882a593Smuzhiyun $(call if_changed,syshdr) 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunsysnr_abi_unistd-nr := common,oabi,eabi,compat 70*4882a593Smuzhiyun$(kapi)/unistd-nr.h: $(syscall) $(sysnr) FORCE 71*4882a593Smuzhiyun $(call if_changed,sysnr) 72*4882a593Smuzhiyun 73*4882a593Smuzhiyunsystbl_abi_calls-oabi := common,oabi 74*4882a593Smuzhiyun$(gen)/calls-oabi.S: $(syscall) $(systbl) FORCE 75*4882a593Smuzhiyun $(call if_changed,systbl) 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunsystbl_abi_calls-eabi := common,eabi 78*4882a593Smuzhiyun$(gen)/calls-eabi.S: $(syscall) $(systbl) FORCE 79*4882a593Smuzhiyun $(call if_changed,systbl) 80