Makefile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. VERSION="1.0.0"
  2. default: debug test run
  3. debug:
  4. go vet ./...
  5. gofmt -d ./
  6. go build -mod vendor -o ./fave
  7. test:
  8. go test ./...
  9. run:
  10. @./fave -host 0.0.0.0 -port 8080 -dir ./hosts -debug true
  11. build: clean
  12. @-mkdir ./bin
  13. @cd ./bin
  14. @cd ..
  15. CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -mod vendor -a -o ./bin/fave.linux-amd64 -ldflags='-X main.Version=$(VERSION) -extldflags "-static"'
  16. CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -mod vendor -a -o ./bin/fave.darwin-amd64 -ldflags='-X main.Version=$(VERSION) -extldflags "-static"'
  17. CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -mod vendor -a -o ./bin/fave.windows-amd64.exe -ldflags='-X main.Version=$(VERSION) -extldflags "-static"'
  18. cd ./bin && find . -name 'fave*' | xargs -I{} tar czf {}.tar.gz {}
  19. @cp -R ./hosts/localhost ./bin/localhost
  20. @-find ./bin/localhost -type f -name '.*' -exec rm -f {} \;
  21. @-find ./bin/localhost -type f -name '*.json' -exec rm -f {} \;
  22. @-rm ./bin/localhost/tmp/*
  23. cd ./bin && tar -zcf localhost.tar.gz ./localhost
  24. @-rm -r ./bin/localhost
  25. cp ./Dockerfile ./bin/Dockerfile
  26. cd ./bin && shasum -a 256 * > sha256sum.txt
  27. cat ./bin/sha256sum.txt
  28. clean:
  29. @-rm -r ./bin
  30. format:
  31. gofmt -w ./
  32. update:
  33. go mod vendor
  34. go mod download
  35. docker-test:
  36. @-docker stop fave-test
  37. @-docker rm fave-test
  38. @-docker rmi fave
  39. docker build --rm=false --force-rm=true -t fave .
  40. docker run --name fave-test -d -p 8080:8080 -t -i fave:latest /app/fave.linux-amd64
  41. docker-img:
  42. docker build -t fave .
  43. docker-clr:
  44. @-docker stop fave-test
  45. @-docker rm fave-test
  46. @-docker rmi fave