Makefile
56 Zeilen · 1.6 KB · Makefile
| 1 | # TV-Wall - Bauen und Paketieren |
| 2 | # |
| 3 | # make lokal bauen (build/tvwall) |
| 4 | # make pi64 fuer Raspberry Pi OS 64 Bit (Pi 3/4/5) |
| 5 | # make pi32 fuer Raspberry Pi OS 32 Bit (Pi 2/3/Zero 2) |
| 6 | # make dist fertiges Installationspaket bauen (dist/*.tar.gz) |
| 7 | # make run lokal starten (ohne mpv, Web auf :8080) |
| 8 | |
| 9 | BINARY := tvwall |
| 10 | VERSION ?= 1.0.0 |
| 11 | LDFLAGS := -s -w -X main.version=$(VERSION) |
| 12 | PKG := ./cmd/tvwall |
| 13 | |
| 14 | .PHONY: all build pi64 pi32 dist clean run test fmt vet |
| 15 | |
| 16 | all: build |
| 17 | |
| 18 | build: |
| 19 | @mkdir -p build |
| 20 | go build -trimpath -ldflags "$(LDFLAGS)" -o build/$(BINARY) $(PKG) |
| 21 | |
| 22 | pi64: |
| 23 | @mkdir -p build |
| 24 | GOOS=linux GOARCH=arm64 CGO_ENABLED=0 \ |
| 25 | go build -trimpath -ldflags "$(LDFLAGS)" -o build/$(BINARY)-linux-arm64 $(PKG) |
| 26 | |
| 27 | pi32: |
| 28 | @mkdir -p build |
| 29 | GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=0 \ |
| 30 | go build -trimpath -ldflags "$(LDFLAGS)" -o build/$(BINARY)-linux-arm $(PKG) |
| 31 | |
| 32 | # Paket zum Kopieren auf den Pi: Binaries + Installer + Konfiguration. |
| 33 | dist: pi64 pi32 |
| 34 | @rm -rf dist/$(BINARY)-$(VERSION) |
| 35 | @mkdir -p dist/$(BINARY)-$(VERSION)/build |
| 36 | cp build/$(BINARY)-linux-arm64 build/$(BINARY)-linux-arm dist/$(BINARY)-$(VERSION)/build/ |
| 37 | cp -r install.sh config systemd scripts README.md dist/$(BINARY)-$(VERSION)/ |
| 38 | chmod +x dist/$(BINARY)-$(VERSION)/install.sh dist/$(BINARY)-$(VERSION)/scripts/* |
| 39 | cd dist && tar czf $(BINARY)-$(VERSION).tar.gz $(BINARY)-$(VERSION) |
| 40 | @echo |
| 41 | @echo "Fertig: dist/$(BINARY)-$(VERSION).tar.gz" |
| 42 | |
| 43 | fmt: |
| 44 | gofmt -w ./cmd ./internal |
| 45 | |
| 46 | vet: |
| 47 | go vet ./... |
| 48 | |
| 49 | test: |
| 50 | go test ./... |
| 51 | |
| 52 | run: build |
| 53 | ./build/$(BINARY) -no-player -config /dev/null -state-dir ./.devstate -addr :8080 |
| 54 | |
| 55 | clean: |
| 56 | rm -rf build dist |