xref: /openbmc/linux/tools/power/cpupower/Makefile (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1873e65bcSThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2ee3db6fcSThomas Renninger# Makefile for cpupower
37fe2f639SDominik Brodowski#
47fe2f639SDominik Brodowski# Copyright (C) 2005,2006 Dominik Brodowski <linux@dominikbrodowski.net>
57fe2f639SDominik Brodowski#
67fe2f639SDominik Brodowski# Based largely on the Makefile for udev by:
77fe2f639SDominik Brodowski#
87fe2f639SDominik Brodowski# Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
97fe2f639SDominik Brodowski#
1068bb2c3aSFranck Bui-HuuOUTPUT=./
1168bb2c3aSFranck Bui-Huuifeq ("$(origin O)", "command line")
1268bb2c3aSFranck Bui-Huu	OUTPUT := $(O)/
1368bb2c3aSFranck Bui-Huuendif
1468bb2c3aSFranck Bui-Huu
1568bb2c3aSFranck Bui-Huuifneq ($(OUTPUT),)
1668bb2c3aSFranck Bui-Huu# check that the output directory actually exists
1716f8259cSBjørn ForsmanOUTDIR := $(shell cd $(OUTPUT) && pwd)
1868bb2c3aSFranck Bui-Huu$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
1968bb2c3aSFranck Bui-Huuendif
207fe2f639SDominik Brodowski
21d4dbfa4bSPrarit Bhargava
227fe2f639SDominik Brodowski# --- CONFIGURATION BEGIN ---
237fe2f639SDominik Brodowski
247fe2f639SDominik Brodowski# Set the following to `true' to make a unstripped, unoptimized
257fe2f639SDominik Brodowski# binary. Leave this set to `false' for production use.
262dfc818bSThomas RenningerDEBUG ?=	true
277fe2f639SDominik Brodowski
287fe2f639SDominik Brodowski# make the build silent. Set this to something else to make it noisy again.
297fe2f639SDominik BrodowskiV ?=		false
307fe2f639SDominik Brodowski
317fe2f639SDominik Brodowski# Internationalization support (output in different languages).
327fe2f639SDominik Brodowski# Requires gettext.
337fe2f639SDominik BrodowskiNLS ?=		true
347fe2f639SDominik Brodowski
357fe2f639SDominik Brodowski# Set the following to 'true' to build/install the
367fe2f639SDominik Brodowski# cpufreq-bench benchmarking tool
3763b37de1SDave JonesCPUFREQ_BENCH ?= true
387fe2f639SDominik Brodowski
39e51207f0SThomas Renninger# Do not build libraries, but build the code in statically
40e51207f0SThomas Renninger# Libraries are still built, otherwise the Makefile code would
41e51207f0SThomas Renninger# be rather ugly.
42e51207f0SThomas Renningerexport STATIC ?= false
43e51207f0SThomas Renninger
447fe2f639SDominik Brodowski# Prefix to the directories we're installing to
457fe2f639SDominik BrodowskiDESTDIR ?=
467fe2f639SDominik Brodowski
477fe2f639SDominik Brodowski# --- CONFIGURATION END ---
487fe2f639SDominik Brodowski
497fe2f639SDominik Brodowski
507fe2f639SDominik Brodowski
517fe2f639SDominik Brodowski# Package-related definitions. Distributions can modify the version
527fe2f639SDominik Brodowski# and _should_ modify the PACKAGE_BUGREPORT definition
537fe2f639SDominik Brodowski
54527b7779SMartin KaistraVERSION:=			$(shell ./utils/version-gen.sh)
55ac5a181dSThomas RenningerLIB_MAJ=			0.0.1
56d7de5d8eSBen HutchingsLIB_MIN=			1
577fe2f639SDominik Brodowski
58ee3db6fcSThomas RenningerPACKAGE =			cpupower
59dec102aaSViresh KumarPACKAGE_BUGREPORT =		linux-pm@vger.kernel.org
60*af75504cSShuah KhanLANGUAGES = 			de fr it cs pt ka
617fe2f639SDominik Brodowski
627fe2f639SDominik Brodowski
637fe2f639SDominik Brodowski# Directory definitions. These are default and most probably
647fe2f639SDominik Brodowski# do not need to be changed. Please note that DESTDIR is
657fe2f639SDominik Brodowski# added in front of any of them
667fe2f639SDominik Brodowski
677fe2f639SDominik Brodowskibindir ?=	/usr/bin
687fe2f639SDominik Brodowskisbindir ?=	/usr/sbin
697fe2f639SDominik Brodowskimandir ?=	/usr/man
707fe2f639SDominik Brodowskiincludedir ?=	/usr/include
717fe2f639SDominik Brodowskilocaledir ?=	/usr/share/locale
72ee3db6fcSThomas Renningerdocdir ?=       /usr/share/doc/packages/cpupower
737fe2f639SDominik Brodowskiconfdir ?=      /etc/
74901d32bcSAbhishek Goelbash_completion_dir ?= /usr/share/bash-completion/completions
757fe2f639SDominik Brodowski
767fe2f639SDominik Brodowski# Toolchain: what tools do we use, and what options do they need:
777fe2f639SDominik Brodowski
787fe2f639SDominik BrodowskiCP = cp -fpR
797fe2f639SDominik BrodowskiINSTALL = /usr/bin/install -c
807fe2f639SDominik BrodowskiINSTALL_PROGRAM = ${INSTALL}
817fe2f639SDominik BrodowskiINSTALL_DATA  = ${INSTALL} -m 644
82901d32bcSAbhishek Goel#bash completion scripts get sourced and so they should be rw only.
83901d32bcSAbhishek GoelINSTALL_SCRIPT = ${INSTALL} -m 644
847fe2f639SDominik Brodowski
857fe2f639SDominik Brodowski# If you are running a cross compiler, you may want to set this
867fe2f639SDominik Brodowski# to something more interesting, like "arm-linux-".  If you want
877fe2f639SDominik Brodowski# to compile vs uClibc, that can be done here as well.
887fe2f639SDominik BrodowskiCROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc-
897fe2f639SDominik BrodowskiCC = $(CROSS)gcc
907fe2f639SDominik BrodowskiLD = $(CROSS)gcc
917fe2f639SDominik BrodowskiAR = $(CROSS)ar
927fe2f639SDominik BrodowskiSTRIP = $(CROSS)strip
937fe2f639SDominik BrodowskiRANLIB = $(CROSS)ranlib
947fe2f639SDominik BrodowskiHOSTCC = gcc
9568bb2c3aSFranck Bui-HuuMKDIR = mkdir
967fe2f639SDominik Brodowski
97a73f6e2fSSébastien Szymanski# 64bit library detection
98a73f6e2fSSébastien Szymanskiinclude ../../scripts/Makefile.arch
99a73f6e2fSSébastien Szymanski
100a73f6e2fSSébastien Szymanskiifeq ($(IS_64_BIT), 1)
101a73f6e2fSSébastien Szymanskilibdir ?=	/usr/lib64
102a73f6e2fSSébastien Szymanskielse
103a73f6e2fSSébastien Szymanskilibdir ?=	/usr/lib
104a73f6e2fSSébastien Szymanskiendif
1057fe2f639SDominik Brodowski
1067fe2f639SDominik Brodowski# Now we set up the build system
1077fe2f639SDominik Brodowski#
1087fe2f639SDominik Brodowski
10968bb2c3aSFranck Bui-HuuGMO_FILES = ${shell for HLANG in ${LANGUAGES}; do echo $(OUTPUT)po/$$HLANG.gmo; done;}
110f5ac0641SDominik Brodowski
1117fe2f639SDominik Brodowskiexport CROSS CC AR STRIP RANLIB CFLAGS LDFLAGS LIB_OBJS
1127fe2f639SDominik Brodowski
1137fe2f639SDominik Brodowski# check if compiler option is supported
1147fe2f639SDominik Brodowskicc-supports = ${shell if $(CC) ${1} -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;}
1157fe2f639SDominik Brodowski
1167fe2f639SDominik Brodowski# use '-Os' optimization if available, else use -O2
1177fe2f639SDominik BrodowskiOPTIMIZATION := $(call cc-supports,-Os,-O2)
1187fe2f639SDominik Brodowski
1197fe2f639SDominik BrodowskiWARNINGS := -Wall -Wchar-subscripts -Wpointer-arith -Wsign-compare
1207fe2f639SDominik BrodowskiWARNINGS += $(call cc-supports,-Wno-pointer-sign)
1217fe2f639SDominik BrodowskiWARNINGS += $(call cc-supports,-Wdeclaration-after-statement)
1227fe2f639SDominik BrodowskiWARNINGS += -Wshadow
1237fe2f639SDominik Brodowski
124dbc4ca33SJiri Olsaoverride CFLAGS += -DVERSION=\"$(VERSION)\" -DPACKAGE=\"$(PACKAGE)\" \
1257fe2f639SDominik Brodowski		-DPACKAGE_BUGREPORT=\"$(PACKAGE_BUGREPORT)\" -D_GNU_SOURCE
1267fe2f639SDominik Brodowski
127ac5a181dSThomas RenningerUTIL_OBJS =  utils/helpers/amd.o utils/helpers/msr.o \
1287fe2f639SDominik Brodowski	utils/helpers/sysfs.o utils/helpers/misc.o utils/helpers/cpuid.o \
1297fe2f639SDominik Brodowski	utils/helpers/pci.o utils/helpers/bitmask.o \
1307fe2f639SDominik Brodowski	utils/idle_monitor/nhm_idle.o utils/idle_monitor/snb_idle.o \
1317ee767b6SThomas Renninger	utils/idle_monitor/hsw_ext_idle.o \
1327fe2f639SDominik Brodowski	utils/idle_monitor/amd_fam14h_idle.o utils/idle_monitor/cpuidle_sysfs.o \
1337fe2f639SDominik Brodowski	utils/idle_monitor/mperf_monitor.o utils/idle_monitor/cpupower-monitor.o \
1348c37df3dSThomas Renninger	utils/idle_monitor/rapl_monitor.o \
1357fe2f639SDominik Brodowski	utils/cpupower.o utils/cpufreq-info.o utils/cpufreq-set.o \
136c4f3610eSThomas Renninger	utils/cpupower-set.o utils/cpupower-info.o utils/cpuidle-info.o \
137c2294c14SThomas Renninger	utils/cpuidle-set.o utils/powercap-info.o
1387fe2f639SDominik Brodowski
13968bb2c3aSFranck Bui-HuuUTIL_SRC := $(UTIL_OBJS:.o=.c)
14068bb2c3aSFranck Bui-Huu
14168bb2c3aSFranck Bui-HuuUTIL_OBJS := $(addprefix $(OUTPUT),$(UTIL_OBJS))
14268bb2c3aSFranck Bui-Huu
1437fe2f639SDominik BrodowskiUTIL_HEADERS = utils/helpers/helpers.h utils/idle_monitor/cpupower-monitor.h \
1447fe2f639SDominik Brodowski	utils/helpers/bitmask.h \
1457fe2f639SDominik Brodowski	utils/idle_monitor/idle_monitors.h utils/idle_monitor/idle_monitors.def
1467fe2f639SDominik Brodowski
147c2294c14SThomas RenningerLIB_HEADERS = 	lib/cpufreq.h lib/cpupower.h lib/cpuidle.h lib/acpi_cppc.h \
148c2294c14SThomas Renninger	lib/powercap.h
149c2294c14SThomas RenningerLIB_SRC = 	lib/cpufreq.c lib/cpupower.c lib/cpuidle.c lib/acpi_cppc.c \
150c2294c14SThomas Renninger	lib/powercap.c
151c2294c14SThomas RenningerLIB_OBJS = 	lib/cpufreq.o lib/cpupower.o lib/cpuidle.o lib/acpi_cppc.o \
152c2294c14SThomas Renninger	lib/powercap.o
15368bb2c3aSFranck Bui-HuuLIB_OBJS :=	$(addprefix $(OUTPUT),$(LIB_OBJS))
1547fe2f639SDominik Brodowski
155dbc4ca33SJiri Olsaoverride CFLAGS +=	-pipe
1567fe2f639SDominik Brodowski
1577fe2f639SDominik Brodowskiifeq ($(strip $(NLS)),true)
1587fe2f639SDominik Brodowski	INSTALL_NLS += install-gmo
159f5ac0641SDominik Brodowski	COMPILE_NLS += create-gmo
160dbc4ca33SJiri Olsa	override CFLAGS += -DNLS
1617fe2f639SDominik Brodowskiendif
1627fe2f639SDominik Brodowski
16363b37de1SDave Jonesifeq ($(strip $(CPUFREQ_BENCH)),true)
1647fe2f639SDominik Brodowski	INSTALL_BENCH += install-bench
1657fe2f639SDominik Brodowski	COMPILE_BENCH += compile-bench
1667fe2f639SDominik Brodowskiendif
1677fe2f639SDominik Brodowski
168e51207f0SThomas Renningerifeq ($(strip $(STATIC)),true)
169e51207f0SThomas Renninger        UTIL_OBJS += $(LIB_OBJS)
170e51207f0SThomas Renninger        UTIL_HEADERS += $(LIB_HEADERS)
171e51207f0SThomas Renninger        UTIL_SRC += $(LIB_SRC)
172e51207f0SThomas Renningerendif
173e51207f0SThomas Renninger
174dbc4ca33SJiri Olsaoverride CFLAGS += $(WARNINGS)
1757fe2f639SDominik Brodowski
1767fe2f639SDominik Brodowskiifeq ($(strip $(V)),false)
1777443af9cSDominik Brodowski	QUIET=@
1787443af9cSDominik Brodowski	ECHO=@echo
1797fe2f639SDominik Brodowskielse
1807fe2f639SDominik Brodowski	QUIET=
1817443af9cSDominik Brodowski	ECHO=@\#
1827fe2f639SDominik Brodowskiendif
1837443af9cSDominik Brodowskiexport QUIET ECHO
1847fe2f639SDominik Brodowski
1857fe2f639SDominik Brodowski# if DEBUG is enabled, then we do not strip or optimize
1867fe2f639SDominik Brodowskiifeq ($(strip $(DEBUG)),true)
187dbc4ca33SJiri Olsa	override CFLAGS += -O1 -g -DDEBUG
1887fe2f639SDominik Brodowski	STRIPCMD = /bin/true -Since_we_are_debugging
1897fe2f639SDominik Brodowskielse
190dbc4ca33SJiri Olsa	override CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer
1917fe2f639SDominik Brodowski	STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment
1927fe2f639SDominik Brodowskiendif
1937fe2f639SDominik Brodowski
1947fe2f639SDominik Brodowski
1957fe2f639SDominik Brodowski# the actual make rules
1967fe2f639SDominik Brodowski
19768bb2c3aSFranck Bui-Huuall: libcpupower $(OUTPUT)cpupower $(COMPILE_NLS) $(COMPILE_BENCH)
1987fe2f639SDominik Brodowski
19968bb2c3aSFranck Bui-Huu$(OUTPUT)lib/%.o: $(LIB_SRC) $(LIB_HEADERS)
2007443af9cSDominik Brodowski	$(ECHO) "  CC      " $@
201af594f0cSDominik Brodowski	$(QUIET) $(CC) $(CFLAGS) -fPIC -o $@ -c lib/$*.c
2027fe2f639SDominik Brodowski
20368bb2c3aSFranck Bui-Huu$(OUTPUT)libcpupower.so.$(LIB_MAJ): $(LIB_OBJS)
2047443af9cSDominik Brodowski	$(ECHO) "  LD      " $@
205af594f0cSDominik Brodowski	$(QUIET) $(CC) -shared $(CFLAGS) $(LDFLAGS) -o $@ \
2064c22337fSThomas Renninger		-Wl,-soname,libcpupower.so.$(LIB_MIN) $(LIB_OBJS)
20768bb2c3aSFranck Bui-Huu	@ln -sf $(@F) $(OUTPUT)libcpupower.so
20868bb2c3aSFranck Bui-Huu	@ln -sf $(@F) $(OUTPUT)libcpupower.so.$(LIB_MIN)
2097fe2f639SDominik Brodowski
21068bb2c3aSFranck Bui-Huulibcpupower: $(OUTPUT)libcpupower.so.$(LIB_MAJ)
2117fe2f639SDominik Brodowski
2127fe2f639SDominik Brodowski# Let all .o files depend on its .c file and all headers
2137fe2f639SDominik Brodowski# Might be worth to put this into utils/Makefile at some point of time
2147fe2f639SDominik Brodowski$(UTIL_OBJS): $(UTIL_HEADERS)
2157fe2f639SDominik Brodowski
21668bb2c3aSFranck Bui-Huu$(OUTPUT)%.o: %.c
2177443af9cSDominik Brodowski	$(ECHO) "  CC      " $@
218af594f0cSDominik Brodowski	$(QUIET) $(CC) $(CFLAGS) -I./lib -I ./utils -o $@ -c $*.c
2197fe2f639SDominik Brodowski
22068bb2c3aSFranck Bui-Huu$(OUTPUT)cpupower: $(UTIL_OBJS) $(OUTPUT)libcpupower.so.$(LIB_MAJ)
2217443af9cSDominik Brodowski	$(ECHO) "  CC      " $@
222e51207f0SThomas Renningerifeq ($(strip $(STATIC)),true)
223e51207f0SThomas Renninger	$(QUIET) $(CC) $(CFLAGS) $(LDFLAGS) $(UTIL_OBJS) -lrt -lpci -L$(OUTPUT) -o $@
224e51207f0SThomas Renningerelse
225b8ea351bSJosh Boyer	$(QUIET) $(CC) $(CFLAGS) $(LDFLAGS) $(UTIL_OBJS) -lcpupower -lrt -lpci -L$(OUTPUT) -o $@
226e51207f0SThomas Renningerendif
2277443af9cSDominik Brodowski	$(QUIET) $(STRIPCMD) $@
2287fe2f639SDominik Brodowski
22968bb2c3aSFranck Bui-Huu$(OUTPUT)po/$(PACKAGE).pot: $(UTIL_SRC)
230f5ac0641SDominik Brodowski	$(ECHO) "  GETTEXT " $@
231f5ac0641SDominik Brodowski	$(QUIET) xgettext --default-domain=$(PACKAGE) --add-comments \
23238271504SFranck Bui-Huu		--keyword=_ --keyword=N_ $(UTIL_SRC) -p $(@D) -o $(@F)
2337fe2f639SDominik Brodowski
23468bb2c3aSFranck Bui-Huu$(OUTPUT)po/%.gmo: po/%.po
235f5ac0641SDominik Brodowski	$(ECHO) "  MSGFMT  " $@
236f5ac0641SDominik Brodowski	$(QUIET) msgfmt -o $@ po/$*.po
237f5ac0641SDominik Brodowski
238f5ac0641SDominik Brodowskicreate-gmo: ${GMO_FILES}
239f5ac0641SDominik Brodowski
24068bb2c3aSFranck Bui-Huuupdate-po: $(OUTPUT)po/$(PACKAGE).pot
241f5ac0641SDominik Brodowski	$(ECHO) "  MSGMRG  " $@
242f5ac0641SDominik Brodowski	$(QUIET) @for HLANG in $(LANGUAGES); do \
243f5ac0641SDominik Brodowski		echo -n "Updating $$HLANG "; \
24468bb2c3aSFranck Bui-Huu		if msgmerge po/$$HLANG.po $< -o \
24568bb2c3aSFranck Bui-Huu		   $(OUTPUT)po/$$HLANG.new.po; then \
24668bb2c3aSFranck Bui-Huu			mv -f $(OUTPUT)po/$$HLANG.new.po $(OUTPUT)po/$$HLANG.po; \
2477fe2f639SDominik Brodowski		else \
2487fe2f639SDominik Brodowski			echo "msgmerge for $$HLANG failed!"; \
24968bb2c3aSFranck Bui-Huu			rm -f $(OUTPUT)po/$$HLANG.new.po; \
2507fe2f639SDominik Brodowski		fi; \
2517fe2f639SDominik Brodowski	done;
2527fe2f639SDominik Brodowski
25368bb2c3aSFranck Bui-Huucompile-bench: $(OUTPUT)libcpupower.so.$(LIB_MAJ)
25468bb2c3aSFranck Bui-Huu	@V=$(V) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT)
25568bb2c3aSFranck Bui-Huu
25668bb2c3aSFranck Bui-Huu# we compile into subdirectories. if the target directory is not the
25768bb2c3aSFranck Bui-Huu# source directory, they might not exists. So we depend the various
25868bb2c3aSFranck Bui-Huu# files onto their directories.
25968bb2c3aSFranck Bui-HuuDIRECTORY_DEPS = $(LIB_OBJS) $(UTIL_OBJS) $(GMO_FILES)
26068bb2c3aSFranck Bui-Huu$(DIRECTORY_DEPS): | $(sort $(dir $(DIRECTORY_DEPS)))
26168bb2c3aSFranck Bui-Huu
26268bb2c3aSFranck Bui-Huu# In the second step, we make a rule to actually create these directories
26368bb2c3aSFranck Bui-Huu$(sort $(dir $(DIRECTORY_DEPS))):
26468bb2c3aSFranck Bui-Huu	$(ECHO) "  MKDIR      " $@
26568bb2c3aSFranck Bui-Huu	$(QUIET) $(MKDIR) -p $@ 2>/dev/null
2667fe2f639SDominik Brodowski
2677fe2f639SDominik Brodowskiclean:
26868bb2c3aSFranck Bui-Huu	-find $(OUTPUT) \( -not -type d \) -and \( -name '*~' -o -name '*.[oas]' \) -type f -print \
2697fe2f639SDominik Brodowski	 | xargs rm -f
27068bb2c3aSFranck Bui-Huu	-rm -f $(OUTPUT)cpupower
27168bb2c3aSFranck Bui-Huu	-rm -f $(OUTPUT)libcpupower.so*
2728c00bdfbSPalmer Cox	-rm -rf $(OUTPUT)po/*.gmo
2738c00bdfbSPalmer Cox	-rm -rf $(OUTPUT)po/*.pot
27468bb2c3aSFranck Bui-Huu	$(MAKE) -C bench O=$(OUTPUT) clean
2757fe2f639SDominik Brodowski
2767fe2f639SDominik Brodowski
277fb7791e2SIvan Babrouinstall-lib: libcpupower
2787fe2f639SDominik Brodowski	$(INSTALL) -d $(DESTDIR)${libdir}
27968bb2c3aSFranck Bui-Huu	$(CP) $(OUTPUT)libcpupower.so* $(DESTDIR)${libdir}/
2807fe2f639SDominik Brodowski	$(INSTALL) -d $(DESTDIR)${includedir}
2817fe2f639SDominik Brodowski	$(INSTALL_DATA) lib/cpufreq.h $(DESTDIR)${includedir}/cpufreq.h
282ac5a181dSThomas Renninger	$(INSTALL_DATA) lib/cpuidle.h $(DESTDIR)${includedir}/cpuidle.h
283c2294c14SThomas Renninger	$(INSTALL_DATA) lib/powercap.h $(DESTDIR)${includedir}/powercap.h
2847fe2f639SDominik Brodowski
285fb7791e2SIvan Babrouinstall-tools: $(OUTPUT)cpupower
2867fe2f639SDominik Brodowski	$(INSTALL) -d $(DESTDIR)${bindir}
28768bb2c3aSFranck Bui-Huu	$(INSTALL_PROGRAM) $(OUTPUT)cpupower $(DESTDIR)${bindir}
288901d32bcSAbhishek Goel	$(INSTALL) -d $(DESTDIR)${bash_completion_dir}
289901d32bcSAbhishek Goel	$(INSTALL_SCRIPT) cpupower-completion.sh '$(DESTDIR)${bash_completion_dir}/cpupower'
2907fe2f639SDominik Brodowski
2917fe2f639SDominik Brodowskiinstall-man:
2927fe2f639SDominik Brodowski	$(INSTALL_DATA) -D man/cpupower.1 $(DESTDIR)${mandir}/man1/cpupower.1
2937fe2f639SDominik Brodowski	$(INSTALL_DATA) -D man/cpupower-frequency-set.1 $(DESTDIR)${mandir}/man1/cpupower-frequency-set.1
2947fe2f639SDominik Brodowski	$(INSTALL_DATA) -D man/cpupower-frequency-info.1 $(DESTDIR)${mandir}/man1/cpupower-frequency-info.1
29584baab91SThomas Renninger	$(INSTALL_DATA) -D man/cpupower-idle-set.1 $(DESTDIR)${mandir}/man1/cpupower-idle-set.1
29684baab91SThomas Renninger	$(INSTALL_DATA) -D man/cpupower-idle-info.1 $(DESTDIR)${mandir}/man1/cpupower-idle-info.1
2977fe2f639SDominik Brodowski	$(INSTALL_DATA) -D man/cpupower-set.1 $(DESTDIR)${mandir}/man1/cpupower-set.1
2987fe2f639SDominik Brodowski	$(INSTALL_DATA) -D man/cpupower-info.1 $(DESTDIR)${mandir}/man1/cpupower-info.1
2997fe2f639SDominik Brodowski	$(INSTALL_DATA) -D man/cpupower-monitor.1 $(DESTDIR)${mandir}/man1/cpupower-monitor.1
300c2294c14SThomas Renninger	$(INSTALL_DATA) -D man/cpupower-powercap-info.1 $(DESTDIR)${mandir}/man1/cpupower-powercap-info.1
3017fe2f639SDominik Brodowski
302fb7791e2SIvan Babrouinstall-gmo: create-gmo
3037fe2f639SDominik Brodowski	$(INSTALL) -d $(DESTDIR)${localedir}
3047fe2f639SDominik Brodowski	for HLANG in $(LANGUAGES); do \
30568bb2c3aSFranck Bui-Huu		echo '$(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo'; \
30668bb2c3aSFranck Bui-Huu		$(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \
3077fe2f639SDominik Brodowski	done;
3087fe2f639SDominik Brodowski
309fb7791e2SIvan Babrouinstall-bench: compile-bench
3107fe2f639SDominik Brodowski	@#DESTDIR must be set from outside to survive
31168bb2c3aSFranck Bui-Huu	@sbindir=$(sbindir) bindir=$(bindir) docdir=$(docdir) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT) install
3127fe2f639SDominik Brodowski
313e51207f0SThomas Renningerifeq ($(strip $(STATIC)),true)
314e51207f0SThomas Renningerinstall: all install-tools install-man $(INSTALL_NLS) $(INSTALL_BENCH)
315e51207f0SThomas Renningerelse
3167fe2f639SDominik Brodowskiinstall: all install-lib install-tools install-man $(INSTALL_NLS) $(INSTALL_BENCH)
317e51207f0SThomas Renningerendif
3187fe2f639SDominik Brodowski
3197fe2f639SDominik Brodowskiuninstall:
3204c22337fSThomas Renninger	- rm -f $(DESTDIR)${libdir}/libcpupower.*
3217fe2f639SDominik Brodowski	- rm -f $(DESTDIR)${includedir}/cpufreq.h
322ac5a181dSThomas Renninger	- rm -f $(DESTDIR)${includedir}/cpuidle.h
3237fe2f639SDominik Brodowski	- rm -f $(DESTDIR)${bindir}/utils/cpupower
324706f4c11SRamkumar Ramachandra	- rm -f $(DESTDIR)${mandir}/man1/cpupower.1
325706f4c11SRamkumar Ramachandra	- rm -f $(DESTDIR)${mandir}/man1/cpupower-frequency-set.1
326706f4c11SRamkumar Ramachandra	- rm -f $(DESTDIR)${mandir}/man1/cpupower-frequency-info.1
327706f4c11SRamkumar Ramachandra	- rm -f $(DESTDIR)${mandir}/man1/cpupower-set.1
328706f4c11SRamkumar Ramachandra	- rm -f $(DESTDIR)${mandir}/man1/cpupower-info.1
329706f4c11SRamkumar Ramachandra	- rm -f $(DESTDIR)${mandir}/man1/cpupower-monitor.1
330c2294c14SThomas Renninger	- rm -f $(DESTDIR)${mandir}/man1/cpupower-powercap-info.1
3317fe2f639SDominik Brodowski	- for HLANG in $(LANGUAGES); do \
332ee3db6fcSThomas Renninger		rm -f $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \
3337fe2f639SDominik Brodowski	  done;
3347fe2f639SDominik Brodowski
3354c22337fSThomas Renninger.PHONY: all utils libcpupower update-po create-gmo install-lib install-tools install-man install-gmo install uninstall clean
336