40 lines
1012 B
Makefile
40 lines
1012 B
Makefile
.PHONY: all build-server build-client clean forge-build
|
|
|
|
# Default: compile both Go binaries
|
|
all: build-server build-client
|
|
|
|
build-server:
|
|
go build -o bin/server ./cmd/server/
|
|
|
|
build-client:
|
|
go build -o bin/client ./cmd/client/
|
|
|
|
# Build for common targets
|
|
build-client-linux-amd64:
|
|
GOOS=linux GOARCH=amd64 go build -o bin/client-linux-amd64 ./cmd/client/
|
|
|
|
build-client-linux-arm64:
|
|
GOOS=linux GOARCH=arm64 go build -o bin/client-linux-arm64 ./cmd/client/
|
|
|
|
build-client-windows-amd64:
|
|
GOOS=windows GOARCH=amd64 go build -o bin/client-windows-amd64.exe ./cmd/client/
|
|
|
|
build-client-darwin-amd64:
|
|
GOOS=darwin GOARCH=amd64 go build -o bin/client-darwin-amd64 ./cmd/client/
|
|
|
|
# Compile Solidity with Foundry
|
|
forge-build:
|
|
forge build --contracts contracts/ --out out/
|
|
|
|
# Extract ABI and bytecode for embedding
|
|
abi-export:
|
|
forge inspect C2Controller abi > contracts/C2Controller.abi
|
|
forge inspect C2Controller bytecode > contracts/C2Controller.bin
|
|
|
|
# Tidy Go modules
|
|
tidy:
|
|
go mod tidy
|
|
|
|
clean:
|
|
rm -rf bin/ out/
|