Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
ec04aa3a | 2 | # We need this for the "cc-option" macro. |
b61442df | 3 | include ../../build/Build.include |
ec04aa3a | 4 | |
94f69966 JP |
5 | VERSION = 1.0 |
6 | ||
7 | BINDIR=usr/bin | |
8 | WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int | |
302df34c | 9 | override CFLAGS+= $(call cc-option,-O3,-O1) ${WARNFLAGS} |
ec04aa3a | 10 | # Add "-fstack-protector" only if toolchain supports it. |
ad6b474f | 11 | override CFLAGS+= $(call cc-option,-fstack-protector-strong) |
c21568ff | 12 | CC?= $(CROSS_COMPILE)gcc |
b5f7912b | 13 | PKG_CONFIG?= $(CROSS_COMPILE)pkg-config |
94f69966 | 14 | |
ad6b474f | 15 | override CFLAGS+=-D VERSION=\"$(VERSION)\" |
94f69966 JP |
16 | TARGET=tmon |
17 | ||
18 | INSTALL_PROGRAM=install -m 755 -p | |
19 | DEL_FILE=rm -f | |
20 | ||
96a0d99c BN |
21 | # Static builds might require -ltinfo, for instance |
22 | ifneq ($(findstring -static, $(LDFLAGS)),) | |
23 | STATIC := --static | |
24 | endif | |
25 | ||
26 | TMON_LIBS=-lm -lpthread | |
501a5c71 MM |
27 | TMON_LIBS += $(shell $(PKG_CONFIG) --libs $(STATIC) panelw ncursesw 2> /dev/null || \ |
28 | $(PKG_CONFIG) --libs $(STATIC) panel ncurses 2> /dev/null || \ | |
96a0d99c | 29 | echo -lpanel -lncurses) |
94f69966 | 30 | |
ad6b474f | 31 | override CFLAGS += $(shell $(PKG_CONFIG) --cflags $(STATIC) panelw ncursesw 2> /dev/null || \ |
501a5c71 | 32 | $(PKG_CONFIG) --cflags $(STATIC) panel ncurses 2> /dev/null) |
809b6ecb | 33 | |
94f69966 | 34 | OBJS = tmon.o tui.o sysfs.o pid.o |
94f69966 JP |
35 | |
36 | tmon: $(OBJS) Makefile tmon.h | |
96a0d99c | 37 | $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $(TARGET) $(TMON_LIBS) |
94f69966 JP |
38 | |
39 | valgrind: tmon | |
40 | sudo valgrind -v --track-origins=yes --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./$(TARGET) 1> /dev/null | |
41 | ||
42 | install: | |
99d88c30 | 43 | - $(INSTALL_PROGRAM) -D "$(TARGET)" "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)" |
94f69966 JP |
44 | |
45 | uninstall: | |
46 | $(DEL_FILE) "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)" | |
94f69966 JP |
47 | |
48 | clean: | |
99d88c30 | 49 | rm -f $(TARGET) $(OBJS) |
94f69966 JP |
50 | |
51 | dist: | |
52 | git tag v$(VERSION) | |
53 | git archive --format=tar --prefix="$(TARGET)-$(VERSION)/" v$(VERSION) | \ | |
54 | gzip > $(TARGET)-$(VERSION).tar.gz |