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