1 # SPDX-License-Identifier: GPL-2.0 << 2 # We need this for the "cc-option" macro. << 3 include ../../build/Build.include << 4 << 5 VERSION = 1.0 1 VERSION = 1.0 6 2 7 BINDIR=usr/bin 3 BINDIR=usr/bin 8 WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplici 4 WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int 9 override CFLAGS+= $(call cc-option,-O3,-O1) ${ !! 5 CFLAGS+= -O1 ${WARNFLAGS} -fstack-protector 10 # Add "-fstack-protector" only if toolchain su !! 6 CC=$(CROSS_COMPILE)gcc 11 override CFLAGS+= $(call cc-option,-fstack-pro << 12 CC?= $(CROSS_COMPILE)gcc << 13 PKG_CONFIG?= $(CROSS_COMPILE)pkg-config << 14 7 15 override CFLAGS+=-D VERSION=\"$(VERSION)\" !! 8 CFLAGS+=-D VERSION=\"$(VERSION)\" >> 9 LDFLAGS+= 16 TARGET=tmon 10 TARGET=tmon 17 11 18 INSTALL_PROGRAM=install -m 755 -p 12 INSTALL_PROGRAM=install -m 755 -p 19 DEL_FILE=rm -f 13 DEL_FILE=rm -f 20 14 21 # Static builds might require -ltinfo, for ins 15 # Static builds might require -ltinfo, for instance 22 ifneq ($(findstring -static, $(LDFLAGS)),) 16 ifneq ($(findstring -static, $(LDFLAGS)),) 23 STATIC := --static 17 STATIC := --static 24 endif 18 endif 25 19 26 TMON_LIBS=-lm -lpthread 20 TMON_LIBS=-lm -lpthread 27 TMON_LIBS += $(shell $(PKG_CONFIG) --libs $(ST !! 21 TMON_LIBS += $(shell pkg-config --libs $(STATIC) panelw ncursesw 2> /dev/null || \ 28 $(PKG_CONFIG) --libs $(ST !! 22 pkg-config --libs $(STATIC) panel ncurses 2> /dev/null || \ 29 echo -lpanel -lncurses) 23 echo -lpanel -lncurses) 30 24 31 override CFLAGS += $(shell $(PKG_CONFIG) --cfl !! 25 CFLAGS += $(shell pkg-config --cflags $(STATIC) panelw ncursesw 2> /dev/null || \ 32 $(PKG_CONFIG) --cflags $( !! 26 pkg-config --cflags $(STATIC) panel ncurses 2> /dev/null) 33 27 34 OBJS = tmon.o tui.o sysfs.o pid.o 28 OBJS = tmon.o tui.o sysfs.o pid.o >> 29 OBJS += 35 30 36 tmon: $(OBJS) Makefile tmon.h 31 tmon: $(OBJS) Makefile tmon.h 37 $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o 32 $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $(TARGET) $(TMON_LIBS) 38 33 39 valgrind: tmon 34 valgrind: tmon 40 sudo valgrind -v --track-origins=yes 35 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 36 42 install: 37 install: 43 - $(INSTALL_PROGRAM) -D "$(TARGET)" "$ !! 38 - mkdir -p $(INSTALL_ROOT)/$(BINDIR) >> 39 - $(INSTALL_PROGRAM) "$(TARGET)" "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)" 44 40 45 uninstall: 41 uninstall: 46 $(DEL_FILE) "$(INSTALL_ROOT)/$(BINDIR) 42 $(DEL_FILE) "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)" 47 43 48 clean: 44 clean: 49 rm -f $(TARGET) $(OBJS) !! 45 find . -name "*.o" | xargs $(DEL_FILE) >> 46 rm -f $(TARGET) 50 47 51 dist: 48 dist: 52 git tag v$(VERSION) 49 git tag v$(VERSION) 53 git archive --format=tar --prefix="$(T 50 git archive --format=tar --prefix="$(TARGET)-$(VERSION)/" v$(VERSION) | \ 54 gzip > $(TARGET)-$(VERSION).ta 51 gzip > $(TARGET)-$(VERSION).tar.gz
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.