Makefile 935 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ifndef SHA
  2. SHA := $(shell git rev-parse HEAD)
  3. endif
  4. ASSETS := \
  5. internal/ui/assets/edit/index.html \
  6. internal/ui/assets/index.html
  7. .PHONY: all clean develop
  8. all: bin/go
  9. bin/go: cmd/go/main.go $(ASSETS) $(shell find internal -name '*.go')
  10. go build -o $@ ./cmd/go
  11. bin/devserver: cmd/devserver/main.go $(ASSETS)
  12. go build -o $@ ./cmd/devserver
  13. node_modules/.build: package.json
  14. npm install
  15. touch $@
  16. internal/ui/assets/edit/index.html: node_modules/.build $(shell find ui -type f)
  17. npm run build
  18. internal/ui/assets/index.html: node_modules/.build $(shell find ui -type f)
  19. npm run build
  20. develop: bin/devserver bin/go
  21. bin/devserver
  22. clean:
  23. rm -rf bin internal/ui/assets
  24. bin/buildimg:
  25. GOBIN="$(CURDIR)/bin" go install github.com/kellegous/buildimg@latest
  26. publish: bin/buildimg
  27. bin/buildimg --tag=$(shell git rev-parse --short $(SHA)) \
  28. --target=linux/arm64 --target=linux/amd64 \
  29. --build-arg=SHA=${SHA} kellegous/go