Cybersecurity-Projects/PROJECTS/keylogger/Makefile

96 lines
2.3 KiB
Makefile

# CarterPerez-dev | 2025
# Makefile
.PHONY: help venv setup install install-dev test lint format clean all
help:
@echo "Keylogger - Makefile Commands"
@echo "=========================================="
@echo ""
@echo "Setup Commands:"
@echo " make setup - Create venv and install dependencies"
@echo " make install - Install project dependencies only"
@echo " make install-dev - Install with dev tools (linters, formatters)"
@echo ""
@echo "Testing & Quality:"
@echo " make test - Run test suite"
@echo " make lint - Run all linting checks (ruff, pylint, mypy)"
@echo " make format - Format code with yapf"
@echo ""
@echo "Utility:"
@echo " make clean - Remove venv and cache files"
@echo " make all - Setup, test, and lint everything"
@echo ""
venv:
@echo "Creating virtual environment..."
python -m venv venv
@echo "Virtual environment created at ./venv"
@echo ""
@echo "Activate with:"
@echo " source venv/bin/activate (Linux/macOS)"
@echo " venv\\Scripts\\activate (Windows)"
setup: venv
@echo ""
@echo "Installing dependencies..."
./venv/bin/pip install --upgrade pip
./venv/bin/pip install -e ".[dev]"
@echo "✓ Setup complete!"
@echo ""
@echo "Run tests with: make test"
install:
@echo "Installing main dependencies..."
pip install -e .
@echo "Dependencies installed"
install-dev:
@echo "Installing with dev dependencies..."
pip install -e ".[dev]"
@echo "Dev dependencies installed"
test:
@echo "Running tests..."
@echo ""
python test_keylogger.py
lint:
@echo "Running linting checks..."
@echo ""
@echo "=== Ruff ==="
ruff check keylogger.py
@echo ""
@echo "=== Pylint ==="
pylint keylogger.py
@echo ""
@echo "=== Mypy ==="
mypy keylogger.py
@echo ""
@echo "All linting checks passed!"
format:
@echo "Formatting code with yapf..."
yapf -i keylogger.py test_keylogger.py
@echo "Code formatted"
clean:
@echo "Cleaning up..."
rm -rf venv
rm -rf __pycache__
rm -rf *.pyc
rm -rf .mypy_cache
rm -rf .ruff_cache
rm -rf .pytest_cache
rm -rf *.egg-info
rm -rf build
rm -rf dist
@echo "Cleaned"
# Do everything: setup, test, lint
all: setup test lint
@echo ""
@echo "=========================================="
@echo "Everything complete!"
@echo "=========================================="