Re: [PATCH] cpupower: add Makefile dependencies for install targets

From: Thomas Renninger
Date: Thu Jan 07 2021 - 05:09:01 EST


Am Dienstag, 5. Januar 2021, 00:57:18 CET schrieb Ivan Babrou:
> This allows building cpupower in parallel rather than serially.

cpupower is built serially:

[ make clean ]

time make
real 0m3,742s
user 0m3,330s
sys 0m1,105s

[ make clean ]

time make -j10
real 0m1,045s
user 0m3,153s
sys 0m1,037s

Only advantage I see is that you can call
make install-xy
targets without calling the corresponding build target
make xy
similar to the general install target:
install: all install-lib ...

Not sure anyone needs this and whether all targets
successfully work this way.
If you'd show a useful usecase example...

Thomas

>
> Signed-off-by: Ivan Babrou <ivan@xxxxxxxxxxxxxx>
> ---
> tools/power/cpupower/Makefile | 8 ++++----
> tools/power/cpupower/bench/Makefile | 2 +-
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/tools/power/cpupower/Makefile b/tools/power/cpupower/Makefile
> index c7bcddbd486d..3b1594447f29 100644
> --- a/tools/power/cpupower/Makefile
> +++ b/tools/power/cpupower/Makefile
> @@ -270,14 +270,14 @@ clean:
> $(MAKE) -C bench O=$(OUTPUT) clean
>
>
> -install-lib:
> +install-lib: libcpupower
> $(INSTALL) -d $(DESTDIR)${libdir}
> $(CP) $(OUTPUT)libcpupower.so* $(DESTDIR)${libdir}/
> $(INSTALL) -d $(DESTDIR)${includedir}
> $(INSTALL_DATA) lib/cpufreq.h $(DESTDIR)${includedir}/cpufreq.h
> $(INSTALL_DATA) lib/cpuidle.h $(DESTDIR)${includedir}/cpuidle.h
>
> -install-tools:
> +install-tools: $(OUTPUT)cpupower
> $(INSTALL) -d $(DESTDIR)${bindir}
> $(INSTALL_PROGRAM) $(OUTPUT)cpupower $(DESTDIR)${bindir}
> $(INSTALL) -d $(DESTDIR)${bash_completion_dir}
> @@ -293,14 +293,14 @@ install-man:
> $(INSTALL_DATA) -D man/cpupower-info.1
> $(DESTDIR)${mandir}/man1/cpupower-info.1 $(INSTALL_DATA) -D
> man/cpupower-monitor.1 $(DESTDIR)${mandir}/man1/cpupower-monitor.1
>
> -install-gmo:
> +install-gmo: create-gmo
> $(INSTALL) -d $(DESTDIR)${localedir}
> for HLANG in $(LANGUAGES); do \
> echo '$(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo
> $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo'; \ $(INSTALL_DATA)
> -D $(OUTPUT)po/$$HLANG.gmo
> $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \ done;
>
> -install-bench:
> +install-bench: compile-bench
> @#DESTDIR must be set from outside to survive
> @sbindir=$(sbindir) bindir=$(bindir) docdir=$(docdir) confdir=$
(confdir)
> $(MAKE) -C bench O=$(OUTPUT) install
>
> diff --git a/tools/power/cpupower/bench/Makefile
> b/tools/power/cpupower/bench/Makefile index f68b4bc55273..d9d9923af85c
> 100644
> --- a/tools/power/cpupower/bench/Makefile
> +++ b/tools/power/cpupower/bench/Makefile
> @@ -27,7 +27,7 @@ $(OUTPUT)cpufreq-bench: $(OBJS)
>
> all: $(OUTPUT)cpufreq-bench
>
> -install:
> +install: $(OUTPUT)cpufreq-bench
> mkdir -p $(DESTDIR)/$(sbindir)
> mkdir -p $(DESTDIR)/$(bindir)
> mkdir -p $(DESTDIR)/$(docdir)