-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (51 loc) · 1.5 KB
/
Copy pathMakefile
File metadata and controls
60 lines (51 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
.PHONY: build-linux build-linux-tar run-linux clean build-win build-mac build-mac-dmg
IMAGE := auton-earnings-builder:builder
DFILE := docker/Dockerfile
OUTDIR := build_output
VERSION := v0.8.5
# Usage: build-linux # normal build
# build-linux DEBUG=1 # verbose build-log
build-linux:
@$(MAKE) clean
@mkdir -p $(OUTDIR)
@docker build \
--target=builder \
$(if $(DEBUG),--progress=plain) \
-t $(IMAGE) -f $(DFILE) .
@docker run --rm \
--entrypoint=cp \
-v "$$PWD/$(OUTDIR)":/host_out \
$(IMAGE) \
/out/Autonomi-Earnings \
$(if $(DEBUG),/out/pyinstaller-build.log) \
/host_out/
@echo "✅ $(OUTDIR): binary ready$(if $(DEBUG), + debug log)"
# Package into a release tarball
build-linux-tar: build-linux
@tar czf $(OUTDIR)/Autonomi-Earnings-$(VERSION)-linux.tar.gz \
-C $(OUTDIR) \
Autonomi-Earnings
@echo "✅ Created binary + packed into $(OUTDIR)/Autonomi-Earnings-$(VERSION)-linux.tar.gz"
# Run straight from Docker container
run-linux:
@docker build \
-t $(IMAGE) -f $(DFILE) .
@docker run --rm \
--network host \
-e DISPLAY="$(DISPLAY)" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
$(IMAGE)
clean:
@rm -rf $(OUTDIR)
build-win:
@echo "🚀 Building Windows binary..."
.\scripts\build_win.ps1
@echo "✅ Windows build complete. Check build_output/"
build-mac:
@echo "🚀 Building .app bundle..."
chmod +x scripts/build_macos.sh
./scripts/build_macos.sh
build-mac-dmg:
@echo "🚀 Building dmg image..."
chmod +x scripts/build_macos.sh
./scripts/build_macos.sh -dmg