You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nimf/Makefile

63 lines
1.6 KiB

GOCMD := go
BINARY := nimf
PREFIX := /usr/local
EXEC_PREFIX := ${PREFIX}
BINDIR := ${EXEC_PREFIX}/bin
LIBDIR := ${EXEC_PREFIX}/lib
LIBDIR_LOCAL:= $(or ${XDG_DATA_HOME}, ~/.local/share)
DATAROOTDIR := ${EXEC_PREFIX}/share
MANDIR := ${DATAROOTDIR}/man
MAN1DIR := ${MANDIR}/man1
.PHONY: build
build:
${GOCMD} build -ldflags "-w -s" -o ${BINARY}
.PHONY: install
install: install-bin install-lib install-man clean
.PHONY: install-local
install-local: build install-lib-local
.PHONY: install-man
install-man: nimf.1
gzip -k ./nimf.1
install -d ${DESTDIR}${MAN1DIR}
install -m 0644 ./nimf.1.gz ${DESTDIR}${MAN1DIR}
.PHONY: install-bin
install-bin: build
install -d ${DESTDIR}${BINDIR}
install -m 0755 ./${BINARY} ${DESTDIR}${BINDIR}
.PHONY: install-lib
install-lib:
install -d ${DESTDIR}${LIBDIR}/${BINARY}
install -m 0644 ./lib/* ${DESTDIR}${LIBDIR}/${BINARY}
.PHONY: install-lib-local
install-lib-local:
install -d ${LIBDIR_LOCAL}/${BINARY}
install -m 0644 ./lib/* ${LIBDIR_LOCAL}/${BINARY}
.PHONY: clean
clean: nimf.1.gz
${GOCMD} clean
rm -f ./nimf.1.gz 2> /dev/null
rm -f ./${BINARY}_* 2> /dev/null
.PHONY: uninstall
uninstall: clean
rm -f ${DESTDIR}${MAN1DIR}/nimf.1.gz
rm -f ${DESTDIR}${BINDIR}/${BINARY}
.PHONY: release
release:
GOOS=linux GOARCH=amd64 ${GOCMD} build -o ${BINARY}_linux_64
GOOS=linux GOARCH=arm ${GOCMD} build -o ${BINARY}_linux_arm
GOOS=linux GOARCH=386 ${GOCMD} build -o ${BINARY}_linux_32
GOOS=darwin GOARCH=amd64 ${GOCMD} build -o ${BINARY}_darwin_64
GOOS=windows GOARCH=amd64 ${GOCMD} build -o ${BINARY}_win_64
GOOS=windows GOARCH=386 ${GOCMD} build -o ${BINAR}_win_32