xref: /linux/tools/platform/x86/amd/Makefile (revision 5b05bb3f6c5716fab6911e12d60dd1f43ad9806a)
1*a5edf10eSShyam Sundar S K# SPDX-License-Identifier: GPL-2.0
2*a5edf10eSShyam Sundar S Kifeq ($(srctree),)
3*a5edf10eSShyam Sundar S Ksrctree := $(patsubst %/,%,$(dir $(CURDIR)))
4*a5edf10eSShyam Sundar S Ksrctree := $(patsubst %/,%,$(dir $(srctree)))
5*a5edf10eSShyam Sundar S Ksrctree := $(patsubst %/,%,$(dir $(srctree)))
6*a5edf10eSShyam Sundar S Ksrctree := $(patsubst %/,%,$(dir $(srctree)))
7*a5edf10eSShyam Sundar S Kendif
8*a5edf10eSShyam Sundar S K
9*a5edf10eSShyam Sundar S K# Include common tools build infrastructure
10*a5edf10eSShyam Sundar S Kinclude $(srctree)/tools/scripts/Makefile.include
11*a5edf10eSShyam Sundar S K
12*a5edf10eSShyam Sundar S KCC		= $(CROSS_COMPILE)gcc
13*a5edf10eSShyam Sundar S KBUILD_OUTPUT	:= $(CURDIR)
14*a5edf10eSShyam Sundar S KPREFIX		?= /usr
15*a5edf10eSShyam Sundar S KDESTDIR		?=
16*a5edf10eSShyam Sundar S K
17*a5edf10eSShyam Sundar S Kifeq ("$(origin O)", "command line")
18*a5edf10eSShyam Sundar S K	BUILD_OUTPUT := $(O)
19*a5edf10eSShyam Sundar S Kendif
20*a5edf10eSShyam Sundar S K
21*a5edf10eSShyam Sundar S K# Include paths: tools/include has linux/kernel.h with ARRAY_SIZE
22*a5edf10eSShyam Sundar S KINCLUDES	= -I$(srctree)/tools/include
23*a5edf10eSShyam Sundar S KINCLUDES	+= -I$(srctree)/tools/include/uapi
24*a5edf10eSShyam Sundar S KINCLUDES	+= -I$(srctree)/include/uapi
25*a5edf10eSShyam Sundar S KINCLUDES	+= -I$(srctree)/include
26*a5edf10eSShyam Sundar S K
27*a5edf10eSShyam Sundar S Koverride CFLAGS += -O2 -Wall -Wextra -D_GNU_SOURCE $(INCLUDES)
28*a5edf10eSShyam Sundar S Koverride CFLAGS += -D_FILE_OFFSET_BITS=64
29*a5edf10eSShyam Sundar S Koverride CFLAGS += -D__EXPORTED_HEADERS__
30*a5edf10eSShyam Sundar S K
31*a5edf10eSShyam Sundar S KTARGETS		= test_amd_pmf
32*a5edf10eSShyam Sundar S K
33*a5edf10eSShyam Sundar S Kall: $(TARGETS)
34*a5edf10eSShyam Sundar S K
35*a5edf10eSShyam Sundar S Ktest_amd_pmf: test-pmf.c
36*a5edf10eSShyam Sundar S K	$(QUIET_CC)$(CC) $(CFLAGS) $< -o $(BUILD_OUTPUT)/$@ $(LDFLAGS)
37*a5edf10eSShyam Sundar S K
38*a5edf10eSShyam Sundar S K.PHONY: clean
39*a5edf10eSShyam Sundar S Kclean:
40*a5edf10eSShyam Sundar S K	$(call QUIET_CLEAN, test_amd_pmf)$(RM) $(BUILD_OUTPUT)/test_amd_pmf
41*a5edf10eSShyam Sundar S K
42*a5edf10eSShyam Sundar S K.PHONY: install
43*a5edf10eSShyam Sundar S Kinstall: $(TARGETS)
44*a5edf10eSShyam Sundar S K	$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
45*a5edf10eSShyam Sundar S K	$(INSTALL) $(BUILD_OUTPUT)/test_amd_pmf $(DESTDIR)$(PREFIX)/bin/test_amd_pmf
46*a5edf10eSShyam Sundar S K
47*a5edf10eSShyam Sundar S K.PHONY: help
48*a5edf10eSShyam Sundar S Khelp:
49*a5edf10eSShyam Sundar S K	@echo "AMD Platform Tools Makefile"
50*a5edf10eSShyam Sundar S K	@echo ""
51*a5edf10eSShyam Sundar S K	@echo "Targets:"
52*a5edf10eSShyam Sundar S K	@echo "  all           - Build all tools (default)"
53*a5edf10eSShyam Sundar S K	@echo "  test_amd_pmf  - Build the PMF test tool"
54*a5edf10eSShyam Sundar S K	@echo "  clean         - Remove built files"
55*a5edf10eSShyam Sundar S K	@echo "  install       - Install tools to $(PREFIX)/bin"
56*a5edf10eSShyam Sundar S K	@echo ""
57*a5edf10eSShyam Sundar S K	@echo "Variables:"
58*a5edf10eSShyam Sundar S K	@echo "  O=<dir>        - Build output directory"
59*a5edf10eSShyam Sundar S K	@echo "  PREFIX         - Installation prefix (default: /usr)"
60*a5edf10eSShyam Sundar S K	@echo "  DESTDIR        - Destination directory for install"
61