74 lines
1.8 KiB
Makefile
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
|