|
@@ -0,0 +1,42 @@
|
|
|
|
|
+.POSIX:
|
|
|
|
|
+
|
|
|
|
|
+# Install prefix
|
|
|
|
|
+PREFIX = $(HOME)/.cargo
|
|
|
|
|
+
|
|
|
|
|
+# Cargo binary
|
|
|
|
|
+CARGO = cargo +nightly
|
|
|
|
|
+
|
|
|
|
|
+# Compile target
|
|
|
|
|
+RUST_TARGET = $(shell rustc -Vv | grep '^host: ' | cut -d' ' -f2)
|
|
|
|
|
+# Uncomment when doing musl static builds
|
|
|
|
|
+#RUSTFLAGS = -C target-feature=+crt-static -C link-self-contained=yes
|
|
|
|
|
+
|
|
|
|
|
+SRC = \
|
|
|
|
|
+ Cargo.toml \
|
|
|
|
|
+ ../../../Cargo.toml \
|
|
|
|
|
+ $(shell find src -type f -name '*.rs') \
|
|
|
|
|
+ $(shell find ../../../src -type f -name '*.rs') \
|
|
|
|
|
+
|
|
|
|
|
+BIN = $(shell grep '^name = ' Cargo.toml | sed 1q | cut -d' ' -f3 | tr -d '"')
|
|
|
|
|
+
|
|
|
|
|
+all: $(BIN)
|
|
|
|
|
+
|
|
|
|
|
+$(BIN): $(SRC)
|
|
|
|
|
+ RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) build --target=$(RUST_TARGET) --release --package $@
|
|
|
|
|
+ # TODO: Update target path to darkfi project workspace once explorer is transitioned to bin
|
|
|
|
|
+ cp -f target/$(RUST_TARGET)/release/$@ $@
|
|
|
|
|
+ cp -f target/$(RUST_TARGET)/release/$@ ../../../$@
|
|
|
|
|
+
|
|
|
|
|
+clean:
|
|
|
|
|
+ RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clean --target=$(RUST_TARGET) --release --package $(BIN)
|
|
|
|
|
+ rm -f $(BIN) ../../../$(BIN)
|
|
|
|
|
+
|
|
|
|
|
+install: all
|
|
|
|
|
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
|
|
|
|
|
+ cp -f $(BIN) $(DESTDIR)$(PREFIX)/bin
|
|
|
|
|
+ chmod 755 $(DESTDIR)$(PREFIX)/bin/$(BIN)
|
|
|
|
|
+
|
|
|
|
|
+uninstall:
|
|
|
|
|
+ rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN)
|
|
|
|
|
+
|
|
|
|
|
+.PHONY: all clean install uninstall
|