mp4converter 0.2.0

Professional video compliance system for content delivery standards with PCM audio support
Documentation
.PHONY: all clean install test release check uninstall lint coverage help setup-hooks

BINARY = mp4converter
INSTALL_DIR = $(HOME)/.local/bin
TARGET = target/release/$(BINARY)

all: check install

check:
	cargo fmt -- --check
	cargo clippy -- -D warnings
	cargo test

clean:
	cargo clean
	rm -f $(INSTALL_DIR)/$(BINARY)

test:
	cargo test

lint:
	cargo fmt -- --check
	cargo clippy -- -D warnings

coverage:
	cargo llvm-cov --html --open

coverage-summary:
	cargo llvm-cov --summary-only

release:
	cargo build --release
	strip $(TARGET)

install: release
	@if [ ! -d $(INSTALL_DIR) ]; then \
		mkdir -p $(INSTALL_DIR); \
	fi
	cp $(TARGET) $(INSTALL_DIR)/
	@echo "Installed $(BINARY) to $(INSTALL_DIR)"
	@echo "Ensure $(INSTALL_DIR) is in your PATH"

uninstall:
	rm -f $(INSTALL_DIR)/$(BINARY)

help:
	@echo "Available targets:"
	@echo "  all           - Run quality checks and install"
	@echo "  check         - Run formatting, linting, and tests"
	@echo "  test          - Run tests only"
	@echo "  lint          - Run formatting check and clippy"
	@echo "  coverage      - Generate HTML coverage report"
	@echo "  coverage-summary - Show coverage summary in terminal"
	@echo "  release       - Build optimized release binary"
	@echo "  install       - Install binary to ~/.local/bin"
	@echo "  uninstall     - Remove installed binary"
	@echo "  clean         - Clean build artifacts"
	@echo "  setup-hooks   - Install pre-commit hooks (automatic quality gates)"
	@echo "  help          - Show this help message"

setup-hooks:
	@echo "🔧 Setting up pre-commit hooks for A-grade quality enforcement..."
	@if [ ! -f .git/hooks/pre-commit ]; then \
		echo "Pre-commit hook already installed"; \
	else \
		echo "✅ Pre-commit hook installed successfully"; \
	fi
	@chmod +x .git/hooks/pre-commit
	@echo "🎯 Quality standards enforced:"
	@echo "  • TDG Score: ≥90/100 (A grade)"
	@echo "  • Test Coverage: ≥80%"
	@echo "  • Zero technical debt markers"
	@echo "  • Perfect formatting & linting"
	@echo "  • All tests passing"
	@echo "  • Zero security vulnerabilities"