1*ccad8c13SDeepak Gupta# SPDX-License-Identifier: GPL-2.0-only 2*ccad8c13SDeepak Gupta# RISC-V VDSO CFI Makefile 3*ccad8c13SDeepak Gupta# This Makefile builds the VDSO with CFI support when CONFIG_RISCV_USER_CFI is enabled 4*ccad8c13SDeepak Gupta 5*ccad8c13SDeepak Gupta# setting VDSO_CFI_BUILD triggers build for vdso differently 6*ccad8c13SDeepak GuptaVDSO_CFI_BUILD := 1 7*ccad8c13SDeepak Gupta 8*ccad8c13SDeepak Gupta# Set the source directory to the main vdso directory 9*ccad8c13SDeepak Guptasrc := $(srctree)/arch/riscv/kernel/vdso 10*ccad8c13SDeepak Gupta 11*ccad8c13SDeepak Gupta# Copy all .S and .c files from vdso directory to vdso_cfi object build directory 12*ccad8c13SDeepak Guptavdso_c_sources := $(wildcard $(src)/*.c) 13*ccad8c13SDeepak Guptavdso_S_sources := $(wildcard $(src)/*.S) 14*ccad8c13SDeepak Guptavdso_c_objects := $(addprefix $(obj)/, $(notdir $(vdso_c_sources))) 15*ccad8c13SDeepak Guptavdso_S_objects := $(addprefix $(obj)/, $(notdir $(vdso_S_sources))) 16*ccad8c13SDeepak Gupta 17*ccad8c13SDeepak Gupta$(vdso_S_objects): $(obj)/%.S: $(src)/%.S 18*ccad8c13SDeepak Gupta $(Q)cp $< $@ 19*ccad8c13SDeepak Gupta 20*ccad8c13SDeepak Gupta$(vdso_c_objects): $(obj)/%.c: $(src)/%.c 21*ccad8c13SDeepak Gupta $(Q)cp $< $@ 22*ccad8c13SDeepak Gupta 23*ccad8c13SDeepak Gupta# Include the main VDSO Makefile which contains all the build rules and sources 24*ccad8c13SDeepak Gupta# The VDSO_CFI_BUILD variable will be passed to it to enable CFI compilation 25*ccad8c13SDeepak Guptainclude $(src)/Makefile 26