xref: /linux/tools/power/cpupower/bench/Makefile (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1# SPDX-License-Identifier: GPL-2.0
2ifeq ($(MAKELEVEL),0)
3$(error This Makefile is not intended to be run standalone, but only as a part \
4of the  main one in the parent dir)
5endif
6
7OUTPUT := ./
8ifeq ("$(origin O)", "command line")
9ifneq ($(O),)
10	OUTPUT := $(O)/
11endif
12endif
13
14ifeq ($(strip $(STATIC)),true)
15LIBS = -L../ -L$(OUTPUT) -lm
16OBJS = $(OUTPUT)main.o $(OUTPUT)parse.o $(OUTPUT)system.o $(OUTPUT)benchmark.o \
17       $(OUTPUT)../lib/cpufreq.o $(OUTPUT)../lib/cpupower.o
18else
19LIBS = -L../ -L$(OUTPUT) -lm -lcpupower
20OBJS = $(OUTPUT)main.o $(OUTPUT)parse.o $(OUTPUT)system.o $(OUTPUT)benchmark.o
21endif
22
23override CFLAGS += -D_GNU_SOURCE -I../lib -DDEFAULT_CONFIG_FILE=\"$(confdir)/cpufreq-bench.conf\"
24
25$(OUTPUT)%.o : %.c
26	$(ECHO) "  CC      " $@
27	$(QUIET) $(CC) -c $(CFLAGS) $< -o $@
28
29$(OUTPUT)cpufreq-bench: $(OBJS)
30	$(ECHO) "  CC      " $@
31	$(QUIET) $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS)
32
33all: $(OUTPUT)cpufreq-bench
34
35install: $(OUTPUT)cpufreq-bench
36	mkdir -p $(DESTDIR)/$(sbindir)
37	mkdir -p $(DESTDIR)/$(bindir)
38	mkdir -p $(DESTDIR)/$(docdir)
39	mkdir -p $(DESTDIR)/$(confdir)
40	install -m 755 $(OUTPUT)cpufreq-bench $(DESTDIR)/$(sbindir)/cpufreq-bench
41	install -m 755 cpufreq-bench_plot.sh $(DESTDIR)/$(bindir)/cpufreq-bench_plot.sh
42	install -m 644 README-BENCH $(DESTDIR)/$(docdir)/README-BENCH
43	install -m 755 cpufreq-bench_script.sh $(DESTDIR)/$(docdir)/cpufreq-bench_script.sh
44	install -m 644 example.cfg $(DESTDIR)/$(confdir)/cpufreq-bench.conf
45
46clean:
47	rm -f $(OUTPUT)*.o
48	rm -f $(OUTPUT)cpufreq-bench
49