subscan 1.3.0

A subdomain enumeration tool leveraging diverse techniques, designed for advanced pentesting operations
Documentation
SHELL=/bin/bash

.PHONY: all

all: install-pre-commit-mac \
	install-pre-commit-linux \
	install-pre-commit-hooks \
	install-cargo-tools \
	update-pre-commit-hooks \
	install-nightly-toolchain \
	install-cargo-clippy \
	install-cargo-doc-rs \
	install-cargo-mdbook \
	install-cargo-deny \
	install-cargo-udeps \
	install-cargo-llvm-cov \
	install-cargo-dist \
	install-git-cliff \
	install-cargo-nextest \
	install-cargo-machete \
	clean \
	check \
	fix \
	book-build \
	book-test \
	live-book \
	doc \
	doc-rs \
	doc-test \
	nextest \
	test \
	build \
	rustfmt-check \
	rustfmt \
	clippy \
	deny \
	udeps \
	machete

install-pre-commit-mac:
	@brew install pre-commit
install-pre-commit-linux:
	@sudo apt install pre-commit
install-pre-commit-hooks:
	@pre-commit install --install-hooks
	@pre-commit install --hook-type commit-msg --install-hooks

update-pre-commit-hooks:
	@pre-commit autoupdate

install-cargo-tools: install-nightly-toolchain \
	install-cargo-clippy \
	install-cargo-doc-rs \
	install-cargo-mdbook \
	install-cargo-deny \
	install-cargo-udeps \
	install-cargo-llvm-cov \
	install-cargo-dist \
	install-git-cliff \
	install-cargo-nextest \
	install-cargo-machete

install-nightly-toolchain:
	@rustup toolchain install nightly
install-cargo-clippy:
	@rustup component add clippy
install-cargo-doc-rs:
	@cargo install cargo-docs-rs
install-cargo-mdbook:
	@cargo install mdbook
install-cargo-deny:
	@cargo install cargo-deny --locked
install-cargo-udeps:
	@cargo install cargo-udeps --locked
install-cargo-llvm-cov:
	@cargo install cargo-llvm-cov --locked
install-cargo-dist:
	@cargo install cargo-dist --locked
install-git-cliff:
	@cargo install git-cliff --locked
install-cargo-nextest:
	@cargo install cargo-nextest --locked
install-cargo-machete:
	@cargo install cargo-machete --locked

clean:
	@cargo clean
check:
	@cargo check
fix:
	@cargo fix --allow-dirty --allow-staged
book-build:
	@mdbook build book
book-test:
	@mdbook test book
live-book: book-test
	@mdbook serve book
doc:
	@cargo doc
doc-rs:
	@cargo +nightly docs-rs
doc-test:
	@cargo test --doc
test:
	@cargo test
nextest:
	@cargo nextest run
coverage:
	@cargo +nightly llvm-cov \
		--all-features \
		--workspace \
		--doctests \
		--html \
		--open
build:
	@cargo build
rustfmt-check:
	@cargo +nightly fmt --all -- --check
rustfmt: fix
	@cargo +nightly fmt --all
clippy:
	@cargo clippy --all-targets --all-features
deny:
	@cargo deny --all-features --log-level error check
udeps:
	@cargo +nightly udeps
machete:
	@cargo machete