46 lines
1.0 KiB
Makefile
46 lines
1.0 KiB
Makefile
# Makefile
|
|
.PHONY: deploy build-all
|
|
|
|
# Project name / binary name
|
|
BINARY_NAME := furnacecheck
|
|
|
|
# Default target
|
|
all: build
|
|
|
|
# Run go app from CLI
|
|
run:
|
|
go run .
|
|
|
|
install-linux:
|
|
sudo apt install libopencv-dev
|
|
|
|
install-macos:
|
|
brew install opencv
|
|
|
|
# Build for the host system
|
|
build:
|
|
go build -tags customenv -o build/$(BINARY_NAME) .
|
|
|
|
# Cross-compile for macOS ARM64
|
|
build-macos-arm64:
|
|
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o build/$(BINARY_NAME)-macos-arm64 .
|
|
|
|
# Cross-compile for Linux AMD64
|
|
build-linux-amd64:
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o build/$(BINARY_NAME)-linux-amd64 .
|
|
|
|
# Build all targets
|
|
build-all: build-macos-arm64 build-linux-amd64
|
|
|
|
deploy: build-all
|
|
scp build/furnacecheck-linux-amd64 mundilfari.local:/usr/local/bin/furnacecheck.new
|
|
ssh mundilfari.local \
|
|
"sudo mv /usr/local/bin/furnacecheck.new /usr/local/bin/furnacecheck && \
|
|
sudo systemctl restart furnacecheck"
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
rm -rf build
|
|
|
|
.PHONY: all build build-macos-arm64 build-linux-amd64 build-all clean
|