Skip to content

Commit

Permalink
explorer: introduce initial makefile for building/installing explorer
Browse files Browse the repository at this point in the history
This commit introduces an initial Makefile that facilitates the building and installation of the block explorer. The target directory for copying files is currently set to the blockchain-explorer directory but will be updated to the `darkfi` project directory once the explorer is integrated into the Darkfi workspace.
  • Loading branch information
kalm committed Jan 15, 2025
1 parent 5e21166 commit 0f67f19
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions script/research/blockchain-explorer/Makefile
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 0f67f19

Please sign in to comment.