1 # SPDX-License-Identifier: GPL-2.0
2 # We need this for the "cc-option" macro.
3 include ..
/..
/..
/scripts
/Kbuild.
include
8 WARNFLAGS
=-Wall
-Wshadow
-W
-Wformat
-Wimplicit-function-declaration
-Wimplicit-int
9 CFLAGS
+= -O1
${WARNFLAGS}
10 # Add "-fstack-protector" only if toolchain supports it.
11 CFLAGS
+= $(call cc-option
,-fstack-protector
)
12 CC?
= $(CROSS_COMPILE
)gcc
13 PKG_CONFIG?
= pkg-config
15 CFLAGS
+=-D VERSION
=\"$(VERSION
)\"
19 INSTALL_PROGRAM
=install -m
755 -p
22 # Static builds might require -ltinfo, for instance
23 ifneq ($(findstring -static
, $(LDFLAGS
)),)
27 TMON_LIBS
=-lm
-lpthread
28 TMON_LIBS
+= $(shell $(PKG_CONFIG
) --libs
$(STATIC
) panelw ncursesw
2> /dev
/null || \
29 $(PKG_CONFIG
) --libs
$(STATIC
) panel ncurses
2> /dev
/null || \
30 echo
-lpanel
-lncurses
)
32 CFLAGS
+= $(shell $(PKG_CONFIG
) --cflags $(STATIC
) panelw ncursesw
2> /dev
/null || \
33 $(PKG_CONFIG
) --cflags $(STATIC
) panel ncurses
2> /dev
/null
)
35 OBJS
= tmon.o tui.o sysfs.o pid.o
38 tmon
: $(OBJS
) Makefile tmon.h
39 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(OBJS
) -o
$(TARGET
) $(TMON_LIBS
)
42 sudo valgrind
-v
--track-origins
=yes
--tool
=memcheck
--leak-check
=yes
--show-reachable
=yes
--num-callers
=20 --track-fds
=yes .
/$(TARGET
) 1> /dev
/null
45 - mkdir
-p
$(INSTALL_ROOT
)/$(BINDIR
)
46 - $(INSTALL_PROGRAM
) "$(TARGET)" "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
49 $(DEL_FILE
) "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
52 find .
-name
"*.o" | xargs
$(DEL_FILE
)
57 git archive
--format
=tar --prefix="$(TARGET)-$(VERSION)/" v
$(VERSION
) | \
58 gzip
> $(TARGET
)-$(VERSION
).
tar.gz