Use makefile instead
This commit is contained in:
18
Makefile
Normal file
18
Makefile
Normal file
@ -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
|
21
build.sh
21
build.sh
@ -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
|
Reference in New Issue
Block a user