GOCMD := go BINARY := gnums PREFIX := /usr/local EXEC_PREFIX := ${PREFIX} BINDIR := ${EXEC_PREFIX}/bin DATAROOTDIR := ${PREFIX}/share MANDIR := ${DATAROOTDIR}/man MAN1DIR := ${MANDIR}/man1 UPX := $(shell upx -V 2> /dev/null) .PHONY: build build: ${GOCMD} build -ldflags "-w -s" -o ${BINARY} .PHONY: compress compress: ${BINARY} ifdef UPX @echo Compressing the binary with UPX @upx ${BINARY} else @echo Skipping upx compression endif .PHONY: install-bin install-bin: build compress install -d ${DESTDIR}${BINDIR} install -m 0755 ./${BINARY} ${DESTDIR}${BINDIR} .PHONY: install install: install-bin install-desktop clean .PHONY: clean ${GOCMD} clean .PHONY: uninstall uninstall: clean rm -f ${DESTDIR}${BINDIR}/${BINARY} rm -f ${DESTDIR}${DATAROOTDIR}/applications/${BINARY} rm -f ${DESTDIR}${DATAROOTDIR}/pixmaps/${BINARY}-icon.png -update-desktop-database 2> /dev/null .PHONY: install-desktop install-desktop: ${BINARY}-icon.png ifeq ($(shell uname), Linux) install -d ${DESTDIR}${DATAROOTDIR}/applications install -m 0644 ./${BINARY}.desktop ${DESTDIR}${DATAROOTDIR}/applications install -d ${DESTDIR}${DATAROOTDIR}/pixmaps install -m 0644 ./${BINARY}-icon.png ${DESTDIR}${DATAROOTDIR}/pixmaps -update-desktop-database 2> /dev/null endif