Rewrite Makefile
This commit is contained in:
parent
0cb09a627d
commit
dcb31cb53e
1 changed files with 26 additions and 12 deletions
38
Makefile
38
Makefile
|
@ -3,21 +3,35 @@ bin = $@/target/debug/$@
|
|||
|
||||
doc-crate-toml=./.imag-documentation/Cargo.toml
|
||||
|
||||
default: all
|
||||
ECHO=$(shell which echo) -e
|
||||
CARGO=$(shell which cargo)
|
||||
|
||||
.PHONY: clean
|
||||
BINS=$(shell find -maxdepth 1 -name "imag-*" -type d)
|
||||
LIBS=$(shell find -maxdepth 1 -name "libimag*" -type d)
|
||||
|
||||
all: imag-counter imag-link imag-notes imag-store imag-tag imag-view
|
||||
BIN_TARGETS=$(patsubst imag-%,,$(BINS))
|
||||
LIB_TARGETS=$(LIBS)
|
||||
LIB_TARGETS_TEST=$(foreach x,$(subst ./,,$(LIBS)),test-$(x))
|
||||
TARGETS=$(BIN_TARGETS) $(LIB_TARGETS)
|
||||
|
||||
imag-%: prep
|
||||
cargo build --manifest-path $(toml)
|
||||
cp $(bin) out/
|
||||
all: $(TARGETS)
|
||||
@$(ECHO) "\t[ALL ]"
|
||||
|
||||
lib-doc:
|
||||
cargo build --manifest-path $(doc-crate-toml)
|
||||
bin: $(BIN_TARGETS)
|
||||
@$(ECHO) "\t[ALLBIN]"
|
||||
|
||||
prep:
|
||||
mkdir -p out/
|
||||
lib: $(LIB_TARGETS)
|
||||
@$(ECHO) "\t[ALLLIB]"
|
||||
|
||||
lib-test: $(LIB_TARGETS_TEST)
|
||||
|
||||
$(TARGETS): %: .FORCE
|
||||
@$(ECHO) "\t[CARGO ]:\t$@"
|
||||
@$(CARGO) build --manifest-path ./$@/Cargo.toml
|
||||
|
||||
$(LIB_TARGETS_TEST): %: .FORCE
|
||||
@$(ECHO) "\t[TEST ]:\t$@"
|
||||
@$(CARGO) test --manifest-path ./$(subst test-,,$@)/Cargo.toml
|
||||
|
||||
.FORCE:
|
||||
|
||||
clean:
|
||||
rm -rf out/
|
||||
|
|
Loading…
Reference in a new issue