Thread (7 messages) 7 messages, 3 authors, 2021-01-22

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

From: Ivan Babrou <hidden>
Date: 2021-01-07 17:43:40
Also in: lkml

On Thu, Jan 7, 2021 at 2:07 AM Thomas Renninger [off-list ref] wrote:
Am Dienstag, 5. Januar 2021, 00:57:18 CET schrieb Ivan Babrou:
quoted
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...
We build a bunch of kernel related tools (perf, cpupower, bpftool,
etc.) from our own top level Makefile, propagating parallelism
downwards like one should. Without this patch we have to remove
parallelism for cpupower, which doesn't seem like a very clean thing
to do, especially if you consider that it's 3x faster with parallelism
enabled in wall clock terms.
       Thomas
quoted
Signed-off-by: Ivan Babrou <redacted>
---
 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)
quoted
$(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)

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help