ARCH := amd64 arm64 OS := linux windows darwin NAME := password .PHONY: all build_password all: build_password build_password: $(foreach GOOS, ${OS},\ $(foreach GOARCH, ${ARCH}, \ $(shell CGO_ENABLED=0 go build -v -o bin/${NAME} ./golang/cmd/passwordhash;cd bin/;[ "${GOOS}" = "windows" ] && mv ${NAME} ${NAME}.exe;tar czf ${NAME}_${GOOS}_${GOARCH}.tar.gz *;rm -f ${NAME} ${NAME}.exe) \ )) clean: rm -rf bin re: clean all