From b32cb0595c4625f7942597438040fe5b7ff0c22e Mon Sep 17 00:00:00 2001 From: Urko Date: Wed, 19 Jul 2023 21:34:00 +0200 Subject: [PATCH] feat: add build commands to makefile --- .gitignore | 3 ++- Makefile | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 61e074e..ab874a1 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ .vscode coverage .notes -uploads \ No newline at end of file +uploads +bin \ No newline at end of file diff --git a/Makefile b/Makefile index 152717e..0c85a8e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,7 @@ COVERAGE_DIR=coverage +BIN_DIR := ./bin +MAIN := ./cmd/http/server/main.go + lint: golangci-lint run ./... @@ -11,3 +14,45 @@ test-coverage: mkdir ${COVERAGE_DIR} go test -v -coverprofile ${COVERAGE_DIR}/cover.out ./... go tool cover -html ${COVERAGE_DIR}/cover.out -o ${COVERAGE_DIR}/cover.html + + +.PHONY: local_run +local_run: + go run ./cmd/main.go --dir "$(DIR)" --bucket "$(BUCKET)" + +.PHONY: build_linux_amd64 +build_linux_amd64: + @mkdir -p $(BIN_DIR) + GOOS=linux GOARCH=amd64 go build -o $(BIN_DIR)/$(APP_NAME)_linux_amd64 $(MAIN) + +.PHONY: build_linux_arm64 +build_linux_arm64: + @mkdir -p $(BIN_DIR) + GOOS=linux GOARCH=arm64 go build -o $(BIN_DIR)/$(APP_NAME)_linux_arm64 $(MAIN) + +.PHONY: build_windows_amd64 +build_windows_amd64: + @mkdir -p $(BIN_DIR) + GOOS=windows GOARCH=amd64 go build -o $(BIN_DIR)/$(APP_NAME)_windows_amd64.exe $(MAIN) + +.PHONY: build_windows_386 +build_windows_386: + @mkdir -p $(BIN_DIR) + GOOS=windows GOARCH=386 go build -o $(BIN_DIR)/$(APP_NAME)_windows_386.exe $(MAIN) + +.PHONY: build_mac_amd64 +build_mac_amd64: + @mkdir -p $(BIN_DIR) + GOOS=darwin GOARCH=amd64 go build -o $(BIN_DIR)/$(APP_NAME)_mac_amd64 $(MAIN) + +.PHONY: build_mac_arm64 +build_mac_arm64: + @mkdir -p $(BIN_DIR) + GOOS=darwin GOARCH=arm64 go build -o $(BIN_DIR)/$(APP_NAME)_mac_arm64 $(MAIN) + +.PHONY: clean +clean: + rm -rf $(BIN_DIR) + +.PHONY: rebuild +rebuild: clean build_linux_amd64 build_linux_arm64 build_windows_amd64 build_windows_386 build_mac_amd64 build_mac_arm64