xref: /openbmc/linux/tools/thermal/tmon/Makefile (revision b5f7912b)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2ec04aa3aSMarkus Mayer# We need this for the "cc-option" macro.
3b61442dfSMasahiro Yamadainclude ../../build/Build.include
4ec04aa3aSMarkus Mayer
594f69966SJacob PanVERSION = 1.0
694f69966SJacob Pan
794f69966SJacob PanBINDIR=usr/bin
894f69966SJacob PanWARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int
9302df34cSJiri Olsaoverride CFLAGS+= $(call cc-option,-O3,-O1) ${WARNFLAGS}
10ec04aa3aSMarkus Mayer# Add "-fstack-protector" only if toolchain supports it.
11ad6b474fSJiri Olsaoverride CFLAGS+= $(call cc-option,-fstack-protector-strong)
12c21568ffSMarkus MayerCC?= $(CROSS_COMPILE)gcc
13*b5f7912bSRolf Eike BeerPKG_CONFIG?= $(CROSS_COMPILE)pkg-config
1494f69966SJacob Pan
15ad6b474fSJiri Olsaoverride CFLAGS+=-D VERSION=\"$(VERSION)\"
1694f69966SJacob PanTARGET=tmon
1794f69966SJacob Pan
1894f69966SJacob PanINSTALL_PROGRAM=install -m 755 -p
1994f69966SJacob PanDEL_FILE=rm -f
2094f69966SJacob Pan
2196a0d99cSBrian Norris# Static builds might require -ltinfo, for instance
2296a0d99cSBrian Norrisifneq ($(findstring -static, $(LDFLAGS)),)
2396a0d99cSBrian NorrisSTATIC := --static
2496a0d99cSBrian Norrisendif
2596a0d99cSBrian Norris
2696a0d99cSBrian NorrisTMON_LIBS=-lm -lpthread
27501a5c71SMarkus MayerTMON_LIBS += $(shell $(PKG_CONFIG) --libs $(STATIC) panelw ncursesw 2> /dev/null || \
28501a5c71SMarkus Mayer		     $(PKG_CONFIG) --libs $(STATIC) panel ncurses 2> /dev/null || \
2996a0d99cSBrian Norris		     echo -lpanel -lncurses)
3094f69966SJacob Pan
31ad6b474fSJiri Olsaoverride CFLAGS += $(shell $(PKG_CONFIG) --cflags $(STATIC) panelw ncursesw 2> /dev/null || \
32501a5c71SMarkus Mayer		     $(PKG_CONFIG) --cflags $(STATIC) panel ncurses 2> /dev/null)
33809b6ecbSOlaf Hering
3494f69966SJacob PanOBJS = tmon.o tui.o sysfs.o pid.o
3594f69966SJacob Pan
3694f69966SJacob Pantmon: $(OBJS) Makefile tmon.h
3796a0d99cSBrian Norris	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS)  -o $(TARGET) $(TMON_LIBS)
3894f69966SJacob Pan
3994f69966SJacob Panvalgrind: tmon
4094f69966SJacob Pan	 sudo valgrind -v --track-origins=yes --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./$(TARGET)  1> /dev/null
4194f69966SJacob Pan
4294f69966SJacob Paninstall:
4399d88c30SRolf Eike Beer	- $(INSTALL_PROGRAM) -D "$(TARGET)" "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
4494f69966SJacob Pan
4594f69966SJacob Panuninstall:
4694f69966SJacob Pan	$(DEL_FILE) "$(INSTALL_ROOT)/$(BINDIR)/$(TARGET)"
4794f69966SJacob Pan
4894f69966SJacob Panclean:
4999d88c30SRolf Eike Beer	rm -f $(TARGET) $(OBJS)
5094f69966SJacob Pan
5194f69966SJacob Pandist:
5294f69966SJacob Pan	git tag v$(VERSION)
5394f69966SJacob Pan	git archive --format=tar --prefix="$(TARGET)-$(VERSION)/" v$(VERSION) | \
5494f69966SJacob Pan		gzip > $(TARGET)-$(VERSION).tar.gz
55