ARCH := amd64 arm64 OS := linux windows darwin NAME := password VERSION := $(shell git describe) BUILD := $(shell git rev-parse HEAD) LDFLAGS=-ldflags "-X main.Version=${VERSION} -X main.Build=${BUILD}" .PHONY: all build all: build 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) \ )) publish_password: $(foreach GOOS, ${OS},\ $(foreach GOARCH, ${ARCH}, \ $(curl --silent --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file bin/${NAME}_${GOOS}_${GOARCH}.tar.gz "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${NAME}/${VER}/${NAME}_${GOOS}_${GOARCH}.tar.gz") \ )) clean: rm -rf bin re: clean all