Makefile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. SRC = \
  2. src/info/sources.rs \
  3. src/info/mod.rs \
  4. src/info/filetype.rs \
  5. src/bin/main.rs \
  6. src/term.rs \
  7. src/exa.rs \
  8. src/output/grid_details.rs \
  9. src/output/tree.rs \
  10. src/output/colours.rs \
  11. src/output/grid.rs \
  12. src/output/cell.rs \
  13. src/output/mod.rs \
  14. src/output/details.rs \
  15. src/output/lines.rs \
  16. src/output/column.rs \
  17. src/fs/file.rs \
  18. src/fs/fields.rs \
  19. src/fs/mod.rs \
  20. src/fs/dir.rs \
  21. src/fs/feature/xattr.rs \
  22. src/fs/feature/git.rs \
  23. src/fs/feature/mod.rs \
  24. src/options/misfire.rs \
  25. src/options/filter.rs \
  26. src/options/dir_action.rs \
  27. src/options/view.rs \
  28. src/options/mod.rs \
  29. src/options/help.rs
  30. PREFIX = /usr/local
  31. CARGOFLAGS = --no-default-features
  32. all: target/release/exa
  33. build: CARGOFLAGS=
  34. build: all
  35. build-no-git: all
  36. target/release/exa: $(SRC)
  37. if test -n "$$(echo "$$CC" | cut -d \ -f 1)"; then \
  38. env CC="$$(echo "$$CC" | cut -d \ -f 1)" cargo build --release $(CARGOFLAGS); \
  39. else\
  40. env -u CC cargo build --release $(CARGOFLAGS); \
  41. fi
  42. install: target/release/exa
  43. # BSD and OSX don't have -D to create leading directories
  44. install -dm755 -- "$(DESTDIR)$(PREFIX)/bin/" "$(DESTDIR)$(PREFIX)/share/man/man1/"
  45. install -m755 -- target/release/exa "$(DESTDIR)$(PREFIX)/bin/"
  46. install -m644 -- contrib/man/exa.1 "$(DESTDIR)$(PREFIX)/share/man/man1/"
  47. uninstall:
  48. -rm -- "$(DESTDIR)$(PREFIX)/share/man/man1/exa.1"
  49. -rmdir -- "$(DESTDIR)$(PREFIX)/share/man/man1"
  50. -rm -- "$(DESTDIR)$(PREFIX)/bin/exa"
  51. -rmdir -- "$(DESTDIR)$(PREFIX)/bin"
  52. clean:
  53. -rm -rf target
  54. .PHONY: all build build-no-git install uninstall clean