Makefile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. DESTDIR =
  2. PREFIX = /usr/local
  3. BASHDIR = /etc/bash_completion.d
  4. ZSHDIR = /usr/share/zsh/vendor-completions
  5. FISHDIR = /usr/share/fish/completions
  6. FEATURES ?= default
  7. all: target/release/exa
  8. build: target/release/exa
  9. target/release/exa:
  10. cargo build --release --features "${ENABLE_FEATURES}"
  11. install: install-exa install-man
  12. install-exa: target/release/exa
  13. install -m755 -- target/release/exa "$(DESTDIR)$(PREFIX)/bin/"
  14. install-man:
  15. install -dm755 -- "$(DESTDIR)$(PREFIX)/bin/" "$(DESTDIR)$(PREFIX)/share/man/man1/"
  16. install -m644 -- contrib/man/exa.1 "$(DESTDIR)$(PREFIX)/share/man/man1/"
  17. install-bash-completions:
  18. install -m644 -- contrib/completions.bash "$(BASHDIR)/exa"
  19. install-zsh-completions:
  20. install -m644 -- contrib/completions.zsh "$(ZSHDIR)/_exa"
  21. install-fish-completions:
  22. install -m644 -- contrib/completions.fish "$(FISHDIR)/exa.fish"
  23. uninstall:
  24. -rm -- "$(DESTDIR)$(PREFIX)/share/man/man1/exa.1"
  25. -rm -- "$(DESTDIR)$(PREFIX)/bin/exa"
  26. -rm -- "$(BASHDIR)/exa"
  27. -rm -- "$(ZSHDIR)/_exa"
  28. -rm -- "$(FISHDIR)/exa.fish"
  29. clean:
  30. cargo clean
  31. preview-man:
  32. nroff -man contrib/man/exa.1 | less
  33. .PHONY: all build install-exa install-man preview-man \
  34. install-bash-completions install-zsh-completions install-fish-completions \
  35. clean uninstall