Commit 96a0d99c72cc4eb4f1b2acb71580693b91b95b28
Committed by
Zhang Rui
1 parent
1b0eaa2cc2
Exists in
smarc_imx_lf-5.15.y
and in
32 other branches
tools/thermal: tmon: use pkg-config to determine library dependencies
Some distros (e.g., Arch Linux) don't package the tinfo library separately from ncurses, so don't unconditionally include it. Instead, use pkg-config. The $(STATIC) ugliness is to handle the reported build case from commit 6b533269fb25 ("tools/thermal: tmon: fix compilation errors when building statically"), where a developer wants to be able to build with: make LDFLAGS=-static which requires an additional pkg-config flag. Finally, support a lowest common denominator fallback (-lpanel -lncurses) for build systems that don't have pkg-config entries for ncurses. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Acked-by: Jacob Pan <jacob.jun.pan@linux.intel.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Showing 1 changed file with 10 additions and 1 deletions Side-by-side Diff
tools/thermal/tmon/Makefile
... | ... | @@ -16,12 +16,21 @@ |
16 | 16 | CONFIG_FILE= |
17 | 17 | CONFIG_PATH= |
18 | 18 | |
19 | +# Static builds might require -ltinfo, for instance | |
20 | +ifneq ($(findstring -static, $(LDFLAGS)),) | |
21 | +STATIC := --static | |
22 | +endif | |
19 | 23 | |
24 | +TMON_LIBS=-lm -lpthread | |
25 | +TMON_LIBS += $(shell pkg-config --libs $(STATIC) panelw ncursesw 2> /dev/null || \ | |
26 | + pkg-config --libs $(STATIC) panel ncurses 2> /dev/null || \ | |
27 | + echo -lpanel -lncurses) | |
28 | + | |
20 | 29 | OBJS = tmon.o tui.o sysfs.o pid.o |
21 | 30 | OBJS += |
22 | 31 | |
23 | 32 | tmon: $(OBJS) Makefile tmon.h |
24 | - $(CC) ${CFLAGS} $(LDFLAGS) $(OBJS) -o $(TARGET) -lm -lpanel -lncursesw -ltinfo -lpthread | |
33 | + $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $(TARGET) $(TMON_LIBS) | |
25 | 34 | |
26 | 35 | valgrind: tmon |
27 | 36 | sudo valgrind -v --track-origins=yes --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./$(TARGET) 1> /dev/null |