Files
furnacecheck/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