graphql-engine/cli-ext/Makefile

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

67 lines
1.6 KiB
Makefile
Raw Normal View History

BUILDDIR := bin
BINARY_ASSETS := $(BUILDDIR)/cli-ext-linux-amd64 $(BUILDDIR)/cli-ext-darwin-amd64 $(BUILDDIR)/cli-ext-windows-amd64 $(BUILDDIR)/cli-ext-linux-arm64 $(BUILDDIR)/cli-ext-darwin-arm64
BINARY_ASSET_CHECKSUMS := $(patsubst %,%.sha256,$(BINARY_ASSETS))
GLOBALBUILDDIR ?= /build
COMPRESS := gzip --best -k -c
deps:
npm install
.PHONY: ci-deps
## ci-deps: builds if not already build
ci-deps:
if [ ! -d "node_modules" ]; then npm ci; fi
.PHONY: clean-deps
## clean-deps: deletes node_modules
clean-deps:
if [ -d "node_modules" ]; then rm -r node_modules; fi
.PHONY: build
## build: generates build
build: ci-deps
npm run build
$(MAKE) $(BINARY_ASSET_CHECKSUMS)
.PHONY: clean-build
## clean-build: generates clean build
clean-build: clean clean-deps ci-deps
npm run build
.PHONY: ci-copy-assets
ci-copy-assets:
## ci-copy-assets: copies assests to global build folder
mkdir -p $(GLOBALBUILDDIR)/_cli_ext_output
cp $(BUILDDIR)/* $(GLOBALBUILDDIR)/_cli_ext_output/
# Not supported: Refer https://github.com/zeit/pkg/issues/50
upx-compress: $(BUILDDIR)
ls $(BUILDDIR)/cli-ext-hasura-* | xargs upx
.PRECIOUS: %.zip
%.zip: %.exe
cd $(BUILDDIR) && \
zip $(patsubst $(BUILDDIR)/%, %, $@) $(patsubst $(BUILDDIR)/%, %, $<)
.PRECIOUS: %.gz
%.gz: %
$(COMPRESS) "$<" > "$@"
%.tar: %
tar cf "$@" -C $(BUILDDIR) $(patsubst $(BUILDDIR)/%,%,$^)
%.sha256: %
shasum -a 256 $< > $@
.PHONY: clean
clean:
$(RM) -r $(BUILDDIR)
.PHONY: help
## help: prints this help message
help:
@echo "Usage: \n"
@sed -n 's/^##//p' ${MAKEFILE_LIST} | column -t -s ':' | sed -e 's/^/ /'