Skip to contentSkip to conversation

tools/thermal: tmon: Makefile improvements

PATCH In review Markus Mayer 3 participants 6 messages Sep 27, 2017 – Oct 18, 2017 Thermal

lore
Share & tools
lore
#1 lore raw

PATCH 1/3 tools/thermal: tmon: use "-fstack-protector" only if supported

In reply to Markus Mayer

From: Markus Mayer <[email protected]>

Most, but not all, toolchains support the "-fstack-protector" flag. We check if the compiler supports the flag before using it. This allows tmon to be compiled for more environments.

---
 tools/thermal/tmon/Makefile | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
tools/thermal/tmon/Makefile +6 -1
index 3a961e9..5777bc7 100644
@@ -1,8 +1,13 @@
+# We need this for the "cc-option" macro.
+include ../../../scripts/Kbuild.include
+
 VERSION = 1.0
 
 BINDIR=usr/bin
 WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int
-CFLAGS+= -O1 ${WARNFLAGS} -fstack-protector
+CFLAGS+= -O1 ${WARNFLAGS}
+# Add "-fstack-protector" only if toolchain supports it.
+CFLAGS+= $(call cc-option,-fstack-protector)
 CC=$(CROSS_COMPILE)gcc
 
 CFLAGS+=-D VERSION=\"$(VERSION)\"
Signature · 1 line
2.7.4
#2 lore raw

PATCH 2/3 tools/thermal: tmon: allow $(CC) to be defined externally

In reply to Markus Mayer

From: Markus Mayer <[email protected]>

It can be helpful, especially when using a build system, to set the C compiler externally.

---
 tools/thermal/tmon/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/thermal/tmon/Makefile +1 -1
index 5777bc7..581da71 100644
@@ -8,7 +8,7 @@ WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-
 CFLAGS+= -O1 ${WARNFLAGS}
 # Add "-fstack-protector" only if toolchain supports it.
 CFLAGS+= $(call cc-option,-fstack-protector)
-CC=$(CROSS_COMPILE)gcc
+CC?= $(CROSS_COMPILE)gcc
 
 CFLAGS+=-D VERSION=\"$(VERSION)\"
 LDFLAGS+=
Signature · 1 line
2.7.4
#3 lore raw

PATCH 3/3 tools/thermal: tmon: use $(PKG_CONFIG) instead of hard-coding pkg-config

In reply to Markus Mayer

From: Markus Mayer <[email protected]>

To ease cross-compiling, make use of the $(PKG_CONFIG) variable rather than hard-coding calls to pkg-config.

---
 tools/thermal/tmon/Makefile | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
tools/thermal/tmon/Makefile +5 -4
index 581da71..1e11bd3 100644
@@ -9,6 +9,7 @@ CFLAGS+= -O1 ${WARNFLAGS}
 # Add "-fstack-protector" only if toolchain supports it.
 CFLAGS+= $(call cc-option,-fstack-protector)
 CC?= $(CROSS_COMPILE)gcc
+PKG_CONFIG?= pkg-config
 
 CFLAGS+=-D VERSION=\"$(VERSION)\"
 LDFLAGS+=
@@ -23,12 +24,12 @@ STATIC := --static
 endif
 
 TMON_LIBS=-lm -lpthread
-TMON_LIBS += $(shell pkg-config --libs $(STATIC) panelw ncursesw 2> /dev/null || \
-		     pkg-config --libs $(STATIC) panel ncurses 2> /dev/null || \
+TMON_LIBS += $(shell $(PKG_CONFIG) --libs $(STATIC) panelw ncursesw 2> /dev/null || \
+		     $(PKG_CONFIG) --libs $(STATIC) panel ncurses 2> /dev/null || \
 		     echo -lpanel -lncurses)
 
-CFLAGS    += $(shell pkg-config --cflags $(STATIC) panelw ncursesw 2> /dev/null || \
-		     pkg-config --cflags $(STATIC) panel ncurses 2> /dev/null)
+CFLAGS    += $(shell $(PKG_CONFIG) --cflags $(STATIC) panelw ncursesw 2> /dev/null || \
+		     $(PKG_CONFIG) --cflags $(STATIC) panel ncurses 2> /dev/null)
 
 OBJS = tmon.o tui.o sysfs.o pid.o
 OBJS +=
Signature · 1 line
2.7.4
#0 lore raw

cover tools/thermal: tmon: Makefile improvements

From: Markus Mayer <[email protected]>

This series introduces a number of improvements to tmon's Makefile. The changes are meant to make it easier to cross-compile tmon on a greater number of platforms by giving more control to the person performing the build.

At the same time, sensible defaults are retained so that building tmon will continue to work without any customizations on platforms on which it currently builds.

Markus Mayer (3):
tools/thermal: tmon: use "-fstack-protector" only if supported tools/thermal: tmon: allow $(CC) to be defined externally tools/thermal: tmon: use $(PKG_CONFIG) instead of hard-coding
pkg-config

 tools/thermal/tmon/Makefile | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)
Signature · 1 line
2.7.4
#4 lore raw
Quoted 10 lines · Markus Mayer

From: Markus Mayer <[email protected]>

This series introduces a number of improvements to tmon's Makefile. The changes are meant to make it easier to cross-compile tmon on a greater number of platforms by giving more control to the person performing the build.

At the same time, sensible defaults are retained so that building tmon will continue to work without any customizations on platforms on which it currently builds.

Rui, is there any chance you would be able to take this?

Thanks,
-Markus

Quoted 12 lines

Markus Mayer (3):
tools/thermal: tmon: use "-fstack-protector" only if supported tools/thermal: tmon: allow $(CC) to be defined externally tools/thermal: tmon: use $(PKG_CONFIG) instead of hard-coding
pkg-config

 tools/thermal/tmon/Makefile | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

--
2.7.4

reviewer
#5 lore raw
Quoted 12 lines · Markus Mayer
Quoted 11 lines · Markus Mayer

From: Markus Mayer <[email protected]>

This series introduces a number of improvements to tmon's Makefile. The
changes are meant to make it easier to cross-compile tmon on a greater
number of platforms by giving more control to the person performing the
build.

Quoted 7 lines
Quoted 5 lines

At the same time, sensible defaults are retained so that building tmon
will continue to work without any customizations on platforms on which
it currently builds.

Rui, is there any chance you would be able to take this?

yes, patches applied.

thanks,
rui

Quoted 16 lines

Thanks,
-Markus

Quoted 13 lines

Markus Mayer (3):
  tools/thermal: tmon: use "-fstack-protector" only if supported tools/thermal: tmon: allow $(CC) to be defined externally tools/thermal: tmon: use $(PKG_CONFIG) instead of hard-coding pkg-config

 tools/thermal/tmon/Makefile | 18 ++++++++++++------

 1 file changed, 12 insertions(+), 6 deletions(-)

--
2.7.4