Commit a29ee6ae authored by Oliver Upton's avatar Oliver Upton Committed by Namhyung Kim
Browse files

perf build: Ensure sysreg-defs Makefile respects output dir



Currently the sysreg-defs are written out to the source tree
unconditionally, ignoring the specified output directory. Correct the
build rule to emit the header to the output directory. Opportunistically
reorganize the rules to avoid interleaving with the set of beauty make
rules.

Reported-by: default avatarIan Rogers <irogers@google.com>
Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20231121192956.919380-3-oliver.upton@linux.dev


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent ef5c9580
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ endif
arm64_tools_dir = $(top_srcdir)/arch/arm64/tools
arm64_sysreg_tbl = $(arm64_tools_dir)/sysreg
arm64_gen_sysreg = $(arm64_tools_dir)/gen-sysreg.awk
arm64_generated_dir = $(top_srcdir)/tools/arch/arm64/include/generated
arm64_generated_dir = $(OUTPUT)arch/arm64/include/generated
arm64_sysreg_defs = $(arm64_generated_dir)/asm/sysreg-defs.h

all: $(arm64_sysreg_defs)
+15 −9
Original line number Diff line number Diff line
@@ -434,6 +434,21 @@ export INSTALL SHELL_PATH

SHELL = $(SHELL_PATH)

arm64_gen_sysreg_dir := $(srctree)/tools/arch/arm64/tools
ifneq ($(OUTPUT),)
  arm64_gen_sysreg_outdir := $(OUTPUT)
else
  arm64_gen_sysreg_outdir := $(CURDIR)
endif

arm64-sysreg-defs: FORCE
	$(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) O=$(arm64_gen_sysreg_outdir)

arm64-sysreg-defs-clean:
	$(call QUIET_CLEAN,arm64-sysreg-defs)
	$(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) O=$(arm64_gen_sysreg_outdir) \
		clean > /dev/null

beauty_linux_dir := $(srctree)/tools/perf/trace/beauty/include/linux/
linux_uapi_dir := $(srctree)/tools/include/uapi/linux
asm_generic_uapi_dir := $(srctree)/tools/include/uapi/asm-generic
@@ -450,15 +465,6 @@ drm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/drm_ioctl.sh
# Create output directory if not already present
_dummy := $(shell [ -d '$(beauty_ioctl_outdir)' ] || mkdir -p '$(beauty_ioctl_outdir)')

arm64_gen_sysreg_dir := $(srctree)/tools/arch/arm64/tools

arm64-sysreg-defs: FORCE
	$(Q)$(MAKE) -C $(arm64_gen_sysreg_dir)

arm64-sysreg-defs-clean:
	$(call QUIET_CLEAN,arm64-sysreg-defs)
	$(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) clean > /dev/null

$(drm_ioctl_array): $(drm_hdr_dir)/drm.h $(drm_hdr_dir)/i915_drm.h $(drm_ioctl_tbl)
	$(Q)$(SHELL) '$(drm_ioctl_tbl)' $(drm_hdr_dir) > $@

+1 −1
Original line number Diff line number Diff line
@@ -347,7 +347,7 @@ CFLAGS_rbtree.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ET
CFLAGS_libstring.o     += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
CFLAGS_hweight.o       += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
CFLAGS_header.o        += -include $(OUTPUT)PERF-VERSION-FILE
CFLAGS_arm-spe.o       += -I$(srctree)/tools/arch/arm64/include/ -I$(srctree)/tools/arch/arm64/include/generated/
CFLAGS_arm-spe.o       += -I$(srctree)/tools/arch/arm64/include/ -I$(OUTPUT)arch/arm64/include/generated/

$(OUTPUT)util/argv_split.o: ../lib/argv_split.c FORCE
	$(call rule_mkdir)
+3 −2
Original line number Diff line number Diff line
@@ -18,12 +18,13 @@ else
endif

ifeq ($(ARCH),arm64)
arm64_tools_dir := $(top_srcdir)/tools/arch/arm64/tools/
tools_dir := $(top_srcdir)/tools
arm64_tools_dir := $(tools_dir)/arch/arm64/tools/
GEN_HDRS := $(top_srcdir)/tools/arch/arm64/include/generated/
CFLAGS += -I$(GEN_HDRS)

$(GEN_HDRS): $(wildcard $(arm64_tools_dir)/*)
	$(MAKE) -C $(arm64_tools_dir)
	$(MAKE) -C $(arm64_tools_dir) O=$(tools_dir)
endif

LIBKVM += lib/assert.c