xref: /linux/arch/arm/tools/Makefile (revision 32e9a0d5ffaffe035f99188602d328665c43f38f)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# linux/arch/arm/tools/Makefile
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds# Copyright (C) 2001 Russell King
61da177e4SLinus Torvalds#
71da177e4SLinus Torvalds
84e2648dbSRussell Kinggen := arch/$(ARCH)/include/generated
94e2648dbSRussell Kingkapi := $(gen)/asm
1096a8fae0SRussell Kinguapi := $(gen)/uapi/asm
11*32e9a0d5SMasahiro Yamadasyshdr := $(srctree)/scripts/syscallhdr.sh
1296a8fae0SRussell Kingsysnr := $(srctree)/$(src)/syscallnr.sh
130047eb9fSMasahiro Yamadasystbl := $(srctree)/scripts/syscalltbl.sh
1429c5c3acSMasahiro Yamadasyscall := $(src)/syscall.tbl
154e2648dbSRussell King
1696a8fae0SRussell Kinggen-y := $(gen)/calls-oabi.S
1796a8fae0SRussell Kinggen-y += $(gen)/calls-eabi.S
1896a8fae0SRussell Kingkapi-hdrs-y := $(kapi)/unistd-nr.h
1996a8fae0SRussell Kingkapi-hdrs-y += $(kapi)/mach-types.h
2096a8fae0SRussell Kinguapi-hdrs-y += $(uapi)/unistd-oabi.h
2196a8fae0SRussell Kinguapi-hdrs-y += $(uapi)/unistd-eabi.h
224e2648dbSRussell King
2396a8fae0SRussell Kingtargets += $(addprefix ../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y))
244e2648dbSRussell King
2596a8fae0SRussell KingPHONY += kapi uapi
264e2648dbSRussell King
2796a8fae0SRussell Kingkapi:	$(kapi-hdrs-y) $(gen-y)
2896a8fae0SRussell King
2996a8fae0SRussell Kinguapi:	$(uapi-hdrs-y)
304e2648dbSRussell King
314e2648dbSRussell King# Create output directory if not already present
3296a8fae0SRussell King_dummy := $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') \
3396a8fae0SRussell King          $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)')
344e2648dbSRussell King
356e8ac724SMasahiro Yamadaquiet_cmd_gen_mach = GEN     $@
366e8ac724SMasahiro Yamada      cmd_gen_mach = mkdir -p $(dir $@) && \
37172caf19SMasahiro Yamada		     $(AWK) -f $(filter-out $(PHONY),$^) > $@
386e8ac724SMasahiro Yamada
394e2648dbSRussell King$(kapi)/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE
406e8ac724SMasahiro Yamada	$(call if_changed,gen_mach)
4196a8fae0SRussell King
4296a8fae0SRussell Kingquiet_cmd_syshdr = SYSHDR  $@
43*32e9a0d5SMasahiro Yamada      cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis $(abis) \
44*32e9a0d5SMasahiro Yamada		   --offset __NR_SYSCALL_BASE $< $@
4596a8fae0SRussell King
4696a8fae0SRussell Kingquiet_cmd_systbl = SYSTBL  $@
470047eb9fSMasahiro Yamada      cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) $< $@
4896a8fae0SRussell King
4996a8fae0SRussell Kingquiet_cmd_sysnr  = SYSNR   $@
5096a8fae0SRussell King      cmd_sysnr  = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
5196a8fae0SRussell King		   '$(syshdr_abi_$(basetarget))'
5296a8fae0SRussell King
53*32e9a0d5SMasahiro Yamada$(uapi)/unistd-oabi.h: abis := common,oabi
5496a8fae0SRussell King$(uapi)/unistd-oabi.h: $(syscall) $(syshdr) FORCE
5596a8fae0SRussell King	$(call if_changed,syshdr)
5696a8fae0SRussell King
57*32e9a0d5SMasahiro Yamada$(uapi)/unistd-eabi.h: abis := common,eabi
5896a8fae0SRussell King$(uapi)/unistd-eabi.h: $(syscall) $(syshdr) FORCE
5996a8fae0SRussell King	$(call if_changed,syshdr)
6096a8fae0SRussell King
6196a8fae0SRussell Kingsysnr_abi_unistd-nr := common,oabi,eabi,compat
6296a8fae0SRussell King$(kapi)/unistd-nr.h: $(syscall) $(sysnr) FORCE
6396a8fae0SRussell King	$(call if_changed,sysnr)
6496a8fae0SRussell King
650047eb9fSMasahiro Yamada$(gen)/calls-oabi.S: abis := common,oabi
6696a8fae0SRussell King$(gen)/calls-oabi.S: $(syscall) $(systbl) FORCE
6796a8fae0SRussell King	$(call if_changed,systbl)
6896a8fae0SRussell King
690047eb9fSMasahiro Yamada$(gen)/calls-eabi.S: abis := common,eabi
7096a8fae0SRussell King$(gen)/calls-eabi.S: $(syscall) $(systbl) FORCE
7196a8fae0SRussell King	$(call if_changed,systbl)
72