CGO_ENABLED = 0 GO_ARCH_AMD = amd64 GO_OS_LINUX = linux EXECUTABLE_SERVER = budget-go EXECUTABLE_CMD = budget-go-client CC = go build CFLAGS = -trimpath LDFLAGS = -d -s -w -extldflags=-static GCFLAGS = all= ASMFLAGS = all= all: build docker .PHONY: rice: cd ./cmd/server && rice embed-go .PHONY: front: NODE_ENV=prod ./node_modules/.bin/webpack .PHONY: tpl: TEMPL_EXPERIMENT=rawgo templ generate lint: npm run lint || true npm run format .PHONY: build: tpl front rice CGO_ENABLED=$(CGO_ENABLED) \ GOARCH=$(GO_ARCH_AMD) \ GOOS=$(GO_OS_LINUX) \ $(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" \ -tags=static_build \ -o $(EXECUTABLE_SERVER) ./cmd/server CGO_ENABLED=$(CGO_ENABLED) \ GOARCH=$(GO_ARCH_AMD) \ GOOS=$(GO_OS_LINUX) \ $(CC) $(CFLAGS) -ldflags="$(LDFLAGS)" \ -tags=static_build \ -o $(EXECUTABLE_CMD) ./cmd/cli .ONESHELL: swagger: directories="cmd/server,database/model" for i in backend/controller/*; do directories="$$directories,$$i" done swag init -d "cmd/server,$$directories" -g server.go .PHONY: docker: docker build . -t gitnet.fr/deblan/budget-go docker push gitnet.fr/deblan/budget-go