Makefile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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/template ./bin/template
  20. @-rm ./bin/template/.keep
  21. cd ./bin && tar -zcf template.tar.gz ./template
  22. @-rm -r ./bin/template
  23. cd ./bin && shasum -a 256 * > sha256sum.txt
  24. cat ./bin/sha256sum.txt
  25. clean:
  26. @-rm -r ./bin
  27. format:
  28. gofmt -w ./
  29. update:
  30. go mod vendor
  31. go mod download
  32. docker-test:
  33. @-docker stop fave-test
  34. @-docker rm fave-test
  35. @-docker rmi fave
  36. docker build --rm=false --force-rm=true -t fave .
  37. docker run --name fave-test -d -p 8080:8080 -t -i fave:latest /app/fave.linux-amd64
  38. docker-img:
  39. docker build -t fave .
  40. docker-clr:
  41. @-docker stop fave-test
  42. @-docker rm fave-test
  43. @-docker rmi fave