94f69966fa
Increasingly, Linux is running on thermally constrained devices. The simple thermal relationship between processor and fan has become past for modern computers. As hardware vendors cope with the thermal constraints on their products, more sensors are added, new cooling capabilities are introduced. The complexity of the thermal relationship can grow exponentially among cooling devices, zones, sensors, and trip points. They can also change dynamically. To expose such relationship to the userspace, Linux generic thermal layer introduced sysfs entry at /sys/class/thermal with a matrix of symbolic links, trip point bindings, and device instances. To traverse such matrix by hand is not a trivial task. Testing is also difficult in that thermal conditions are often exception cases that hard to reach in normal operations. TMON is conceived as a tool to help visualize, tune, and test the complex thermal subsystem. Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
48 lines
1.2 KiB
Makefile
48 lines
1.2 KiB
Makefile
VERSION = 1.0
|
|
|
|
BINDIR=usr/bin
|
|
WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int
|
|
CFLAGS= -O1 ${WARNFLAGS} -fstack-protector
|
|
CC=gcc
|
|
|
|
CFLAGS+=-D VERSION=\"$(VERSION)\"
|
|
LDFLAGS+=
|
|
TARGET=tmon
|
|
|
|
INSTALL_PROGRAM=install -m 755 -p
|
|
DEL_FILE=rm -f
|
|
|
|
INSTALL_CONFIGFILE=install -m 644 -p
|
|
CONFIG_FILE=
|
|
CONFIG_PATH=
|
|
|
|
|
|
OBJS = tmon.o tui.o sysfs.o pid.o
|
|
OBJS +=
|
|
|
|
tmon: $(OBJS) Makefile tmon.h
|
|
$(CC) ${CFLAGS} $(LDFLAGS) $(OBJS) -o $(TARGET) -lm -lpanel -lncursesw -lpthread
|
|
|
|
valgrind: tmon
|
|
sudo valgrind -v --track-origins=yes --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./$(TARGET) 1> /dev/null
|
|
|
|
install:
|
|
- mkdir -p $(INSTALL_ROOT)/$(BINDIR)
|
|
- $(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
|
|
- mkdir -p $(INSTALL_ROOT)/$(CONFIG_PATH)
|
|
- $(INSTALL_CONFIGFILE) "$(CONFIG_FILE)" "$(INSTALL_ROOT)/$(CONFIG_PATH)"
|
|
|
|
uninstall:
|
|
$(DEL_FILE) "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
|
|
$(CONFIG_FILE) "$(CONFIG_PATH)"
|
|
|
|
|
|
clean:
|
|
find . -name "*.o" | xargs $(DEL_FILE)
|
|
rm -f $(TARGET)
|
|
|
|
dist:
|
|
git tag v$(VERSION)
|
|
git archive --format=tar --prefix="$(TARGET)-$(VERSION)/" v$(VERSION) | \
|
|
gzip > $(TARGET)-$(VERSION).tar.gz
|