carto/justfile

74 lines
1.8 KiB
Makefile

default:
just -l
run mode="quiet":
#! /bin/bash
case "{{ mode }}" in
quiet)
RUSTFLAGS="-A warnings" cargo run --quiet
;;
*)
cargo run
;;
esac
build:
cargo build --release
install: build
#! /bin/bash
# Build release binary
echo "Building release binary..."
# Create local bin directory if it doesn't exist
mkdir -p ~/.local/bin
# Copy binary to local bin (rename from carto to carto)
cp target/release/carto ~/.local/bin/carto
chmod +x ~/.local/bin/carto
echo "Installed 'carto' to ~/.local/bin/carto"
echo ""
echo "Make sure ~/.local/bin is in your PATH:"
echo " echo 'export PATH=\"\$HOME/.local/bin:\$PATH\"' >> ~/.zshrc"
echo " source ~/.zshrc"
echo ""
echo "Usage examples:"
echo " carto packages --source flatpak"
echo " carto tree --package bash"
echo " carto file /usr/bin/bash"
uninstall:
#! /bin/bash
if [ -f ~/.local/bin/carto ]; then
rm ~/.local/bin/carto
echo "Uninstalled 'carto' from ~/.local/bin"
else
echo "'carto' not found in ~/.local/bin"
fi
# Clean up old names if they exist
if [ -f ~/.local/bin/where ]; then
rm ~/.local/bin/where
echo "Also removed old 'where' binary"
fi
system-install: build
#! /bin/bash
# System-wide installation (requires sudo)
echo "Installing system-wide (requires sudo)..."
sudo cp target/release/carto /usr/local/bin/carto
sudo chmod +x /usr/local/bin/carto
echo "Installed 'carto' to /usr/local/bin/carto"
system-uninstall:
#! /bin/bash
if [ -f /usr/local/bin/carto ]; then
sudo rm /usr/local/bin/carto
echo "Uninstalled 'carto' from /usr/local/bin"
else
echo "'carto' not found in /usr/local/bin"
fi
clean:
cargo clean