SHELL = /bin/sh ifeq ($(PREFIX),) PREFIX := /usr/local endif MANPREFIX := $(PREFIX)/share/man help: @echo "Use one of the following options:" @echo "'make req' - Checks dependencies and environment" @echo "'make install' - Installs foraget" @echo "'make uninstall' - Uninstalls foraget" @echo "'make reinstall' - Reinstalls foraget" deps: @echo "Checking for dependencies..." ifeq ($(shell command -v fzf),) @echo "Please install 'fzf' as it is required for some features." else @echo "'fzf' found." endif env: @echo "Checking environment for Rust compiler..." ifeq ($(shell command -v cargo),) @echo "'cargo' is required for installation." else @echo "'cargo' found, build can continue." endif req: deps env clean: @echo "Cleaning build directory..." cargo clean @echo "Build directory cleaned" build: @echo "Building project..." cargo build --release @echo "Build complete" place: @echo "Installing binary..." sudo install ./target/release/foraget $(PREFIX)/bin/ @echo "Binary installed" manpage: @echo "Creating manpage..." sudo rsync ./man/foraget.1 $(MANPREFIX)/man1/ @echo "Manpage created" install: req clean build place manpage @echo "foraget is now installed!" uninstall: @echo "Uninstalling foraget..." sudo rm $(PREFIX)/bin/foraget sudo rm $(MANPREFIX)/man1/foraget.1 @echo "Uninstallation was successful!" reinstall: uninstall install