diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..513b5fc --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +BINARY_NAME=qv +LD_FLAGS=-s -w +PLATFORMS=linux/amd64 darwin/amd64 windows/amd64 + +.PHONY: compile clean + +compile: + @for PLATFORM in $(PLATFORMS); do \ + GOOS=$$(echo $$PLATFORM | cut -d'/' -f1); \ + GOARCH=$$(echo $$PLATFORM | cut -d'/' -f2); \ + echo "Building for $$GOOS/$$GOARCH..."; \ + go build -ldflags="$(LD_FLAGS)" -o "$(BINARY_NAME)-$$GOOS-$$GOARCH" ./cmd/web/ && \ + echo "Build successful: $(BINARY_NAME)-$$GOOS-$$GOARCH" || \ + echo "Build failed for $$GOOS/$$GOARCH"; \ + done + +clean: + @rm qv-*-amd64 \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100755 index e9188ac..0000000 --- a/build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -BINARY_NAME="qv" -LD_FLAGS="-s -w" - -PLATFORMS=("linux/amd64" "darwin/amd64" "windows/amd64") - -for PLATFORM in "${PLATFORMS[@]}"; do - GOOS=$(echo $PLATFORM | cut -d'/' -f1) - GOARCH=$(echo $PLATFORM | cut -d'/' -f2) - - echo "Building for $GOOS/$GOARCH..." - - GOOS=$GOOS GOARCH=$GOARCH go build -ldflags="$LD_FLAGS" -o "$BINARY_NAME-$GOOS-$GOARCH" ./cmd/web/ - - if [ $? -eq 0 ]; then - echo "Build successful: $BINARY_NAME-$GOOS-$GOARCH" - else - echo "Build failed for $GOOS/$GOARCH" - fi -done