1 # SPDX-License-Identifier: GPL-2.0
2 # We need this for the "cc-option" macro.
3 include ..
/..
/build
/Build.
include
8 WARNFLAGS
=-Wall
-Wshadow
-W
-Wformat
-Wimplicit-function-declaration
-Wimplicit-int
9 override CFLAGS
+= $(call cc-option
,-O3
,-O1
) ${WARNFLAGS}
10 # Add "-fstack-protector" only if toolchain supports it.
11 override CFLAGS
+= $(call cc-option
,-fstack-protector-strong
)
12 CC?
= $(CROSS_COMPILE
)gcc
13 PKG_CONFIG?
= $(CROSS_COMPILE
)pkg-config
15 override CFLAGS
+=-D VERSION
=\"$(VERSION
)\"
18 INSTALL_PROGRAM
=install -m
755 -p
21 # Static builds might require -ltinfo, for instance
22 ifneq ($(findstring -static
, $(LDFLAGS
)),)
26 TMON_LIBS
=-lm
-lpthread
27 TMON_LIBS
+= $(shell $(PKG_CONFIG
) --libs
$(STATIC
) panelw ncursesw
2> /dev
/null || \
28 $(PKG_CONFIG
) --libs
$(STATIC
) panel ncurses
2> /dev
/null || \
29 echo
-lpanel
-lncurses
)
31 override CFLAGS
+= $(shell $(PKG_CONFIG
) --cflags $(STATIC
) panelw ncursesw
2> /dev
/null || \
32 $(PKG_CONFIG
) --cflags $(STATIC
) panel ncurses
2> /dev
/null
)
34 OBJS
= tmon.o tui.o sysfs.o pid.o
36 tmon
: $(OBJS
) Makefile tmon.h
37 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(OBJS
) -o
$(TARGET
) $(TMON_LIBS
)
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
43 - $(INSTALL_PROGRAM
) -D
"$(TARGET)" "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
46 $(DEL_FILE
) "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
49 rm -f
$(TARGET
) $(OBJS
)
53 git archive
--format
=tar --prefix="$(TARGET)-$(VERSION)/" v
$(VERSION
) | \
54 gzip
> $(TARGET
)-$(VERSION
).
tar.gz