61 lines · 1.8 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0# This Makefile generates headers in# tools/perf/arch/$(SRCARCH)/include/generated/asm from the architecture's# syscall table. This will either be from the generic syscall table, or from a# table that is specific to that architecture. PHONY := allall: obj := $(OUTPUT)arch/$(SRCARCH)/include/generated/asm syscall_abis_32  := common,32syscall_abis_64  := common,64syscalltbl := $(srctree)/tools/scripts/syscall.tbl # let architectures override $(syscall_abis_%) and $(syscalltbl)-include $(srctree)/tools/perf/arch/$(SRCARCH)/entry/syscalls/Makefile.syscallsinclude $(srctree)/tools/build/Build.include-include $(srctree)/tools/perf/arch/$(SRCARCH)/entry/syscalls/Kbuild systbl := $(srctree)/tools/perf/scripts/syscalltbl.sh syscall-y   := $(addprefix $(obj)/, $(syscall-y)) # Remove stale wrappers when the corresponding files are removed from generic-yold-headers := $(wildcard $(obj)/*.h)unwanted    := $(filter-out $(syscall-y),$(old-headers)) quiet_cmd_remove = REMOVE  $(unwanted)      cmd_remove = rm -f $(unwanted) quiet_cmd_systbl = SYSTBL  $@      cmd_systbl = $(CONFIG_SHELL) $(systbl) \		   $(if $(systbl-args-$*),$(systbl-args-$*),$(systbl-args)) \		   --abis $(subst $(space),$(comma),$(strip $(syscall_abis_$*))) \		   $< $@ all: $(syscall-y)	$(if $(unwanted),$(call cmd,remove))	@: $(obj)/syscalls_%.h: $(syscalltbl) $(systbl) FORCE	$(call if_changed,systbl) targets := $(syscall-y) # Create output directory. Skip it if at least one old header exists# since we know the output directory already exists.ifeq ($(old-headers),)$(shell mkdir -p $(obj))endif PHONY += FORCE FORCE: existing-targets := $(wildcard $(sort $(targets))) -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd) .PHONY: $(PHONY)