12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- SHELL=/usr/bin/env bash
- NAME=minify
- CMD=./cmd/minify
- TARGETS=linux_amd64 linux_arm64 darwin_amd64 darwin_arm64 freebsd_amd64 netbsd_amd64 openbsd_amd64 windows_amd64
- VERSION=`git describe --tags`
- FLAGS=-ldflags "-s -w -X 'main.Version=${VERSION}'" -trimpath
- ENVS=GO111MODULES=on CGO_ENABLED=0
- all: install
- install:
- echo "Installing ${VERSION}"
- ${ENVS} go install ${FLAGS} ./cmd/minify
- . cmd/minify/bash_completion
- release:
- TAG=$(shell git describe --tags --exact-match 2> /dev/null);
- if [ "${.SHELLSTATUS}" -eq 0 ]; then \
- echo "Releasing ${VERSION}"; \
- else \
- echo "ERROR: commit is not tagged with a version"; \
- echo ""; \
- exit 1; \
- fi
- rm -rf dist
- mkdir -p dist
- for t in ${TARGETS}; do \
- echo Building $$t...; \
- mkdir dist/$$t; \
- os=$$(echo $$t | cut -f1 -d_); \
- arch=$$(echo $$t | cut -f2 -d_); \
- ${ENVS} GOOS=$$os GOARCH=$$arch go build ${FLAGS} -o dist/$$t/${NAME} ${CMD}; \
- \
- cp LICENSE dist/$$t/.; \
- cp cmd/minify/README.md dist/$$t/.; \
- if [ "$$os" == "windows" ]; then \
- mv dist/$$t/${NAME} dist/$$t/${NAME}.exe; \
- zip -jq dist/${NAME}_$$t.zip dist/$$t/*; \
- cd dist; \
- sha256sum ${NAME}_$$t.zip >> checksums.txt; \
- cd ..; \
- else \
- cp cmd/minify/bash_completion dist/$$t/.; \
- cd dist/$$t; \
- tar -cf - * | gzip -9 > ../${NAME}_$$t.tar.gz; \
- cd ..; \
- sha256sum ${NAME}_$$t.tar.gz >> checksums.txt; \
- cd ..; \
- fi; \
- rm -rf dist/$$t; \
- done
- clean:
- echo "Cleaning dist/"
- rm -rf dist
- .PHONY: install release clean
- .SILENT: install release clean
|