mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-11 23:25:48 +00:00
079c36b9f5
You could use src/*.rs src/*/*.rs src/*/*/*.rs, but explicit listing is prefered. Ideally, you should be separate object files that are rebuilt only when necessary, and then build the final binary from those. But have not looked at how to compile rust code so I don't know how to do that, and since there are no header files that is also probably suboptimal. Signed-off-by: Mattias Andrée <maandree@kth.se>
64 lines
1.5 KiB
Makefile
64 lines
1.5 KiB
Makefile
SRC = \
|
|
src/info/sources.rs \
|
|
src/info/mod.rs \
|
|
src/info/filetype.rs \
|
|
src/bin/main.rs \
|
|
src/term.rs \
|
|
src/exa.rs \
|
|
src/output/grid_details.rs \
|
|
src/output/tree.rs \
|
|
src/output/colours.rs \
|
|
src/output/grid.rs \
|
|
src/output/cell.rs \
|
|
src/output/mod.rs \
|
|
src/output/details.rs \
|
|
src/output/lines.rs \
|
|
src/output/column.rs \
|
|
src/fs/file.rs \
|
|
src/fs/fields.rs \
|
|
src/fs/mod.rs \
|
|
src/fs/dir.rs \
|
|
src/fs/feature/xattr.rs \
|
|
src/fs/feature/git.rs \
|
|
src/fs/feature/mod.rs \
|
|
src/options/misfire.rs \
|
|
src/options/filter.rs \
|
|
src/options/dir_action.rs \
|
|
src/options/view.rs \
|
|
src/options/mod.rs \
|
|
src/options/help.rs
|
|
|
|
PREFIX = /usr/local
|
|
|
|
CARGOFLAGS = --no-default-features
|
|
|
|
all: target/release/exa
|
|
|
|
build: CARGOFLAGS=
|
|
build: all
|
|
build-no-git: all
|
|
|
|
target/release/exa: $(SRC)
|
|
if test -n "$$(echo "$$CC" | cut -d \ -f 1)"; then \
|
|
env CC="$$(echo "$$CC" | cut -d \ -f 1)" cargo build --release $(CARGOFLAGS); \
|
|
else\
|
|
env -u CC cargo build --release $(CARGOFLAGS); \
|
|
fi
|
|
|
|
install: target/release/exa
|
|
# BSD and OSX don't have -D to create leading directories
|
|
install -dm755 -- "$(DESTDIR)$(PREFIX)/bin/" "$(DESTDIR)$(PREFIX)/share/man/man1/"
|
|
install -m755 -- target/release/exa "$(DESTDIR)$(PREFIX)/bin/"
|
|
install -m644 -- contrib/man/exa.1 "$(DESTDIR)$(PREFIX)/share/man/man1/"
|
|
|
|
uninstall:
|
|
-rm -- "$(DESTDIR)$(PREFIX)/share/man/man1/exa.1"
|
|
-rmdir -- "$(DESTDIR)$(PREFIX)/share/man/man1"
|
|
-rm -- "$(DESTDIR)$(PREFIX)/bin/exa"
|
|
-rmdir -- "$(DESTDIR)$(PREFIX)/bin"
|
|
|
|
clean:
|
|
-rm -rf target
|
|
|
|
.PHONY: all build build-no-git install uninstall clean
|