46 lines
984 B
Makefile
46 lines
984 B
Makefile
PROG := ./pandadraw.go
|
|
NAME := pandadraw
|
|
AMD64 := x86_64-linux-musl
|
|
ARM64 := aarch64-linux-musl
|
|
TARGETS := $(AMD64) $(ARCH64)
|
|
|
|
default:
|
|
@go build -v $(PROG) && ./$(NAME)
|
|
|
|
freshbuild:
|
|
@rm -rf .pandadraw*
|
|
|
|
second:
|
|
@go build -v $(PROG) && ./$(NAME) -data .pandadraw2
|
|
|
|
third:
|
|
@go build -v $(PROG) && ./$(NAME) -data .pandadraw3
|
|
|
|
release: amd64 arm64 upx
|
|
|
|
cleanup:
|
|
@rm -rf target
|
|
|
|
setup: cleanup
|
|
@$(foreach t,$(TARGETS),mkdir -p target/$(t);)
|
|
|
|
amd64: setup
|
|
@CC="zig cc -target $(AMD64) -lunwind" \
|
|
CGO_ENABLED=1 \
|
|
CGO_LDFLAGS="-static" \
|
|
GOOS=linux GOARCH=amd64 \
|
|
go build -v -a -ldflags '-extldflags "-static" -s -w' \
|
|
-o target/$(AMD64)/$(NAME) $(PROG)
|
|
|
|
arm64: setup
|
|
@CC="zig cc -target $(ARM64) -lunwind" \
|
|
CGO_ENABLED=1 \
|
|
CGO_LDFLAGS="-static" \
|
|
GOOS=linux GOARCH=arm64 \
|
|
go build -v -a -ldflags '-extldflags "-static" -s -w' \
|
|
-o target/$(ARM64)/$(NAME) $(PROG)
|
|
|
|
upx:
|
|
@upx --best --lzma target/$(AMD64)/$(NAME)
|
|
@upx --best --lzma target/$(ARM64)/$(NAME)
|