xref: /OK3568_Linux_fs/kernel/arch/arm/tools/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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