Drop the Makefile in favour of Cargo.
This commit is contained in:
parent
1446d0ae87
commit
63e4c18ed7
60
Makefile
60
Makefile
|
@ -1,60 +0,0 @@
|
||||||
RUSTC ?= rustc
|
|
||||||
RUSTDOC ?= rustdoc
|
|
||||||
RUSTFLAGS ?= -O
|
|
||||||
RUST_REPOSITORY ?= ../rust
|
|
||||||
RUST_CTAGS ?= $(RUST_REPOSITORY)/src/etc/ctags.rust
|
|
||||||
|
|
||||||
all: anymap docs test
|
|
||||||
|
|
||||||
# Recursive wildcard function
|
|
||||||
# http://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html
|
|
||||||
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) \
|
|
||||||
$(filter $(subst *,%,$2),$d))
|
|
||||||
|
|
||||||
SRC := $(call rwildcard,src/,*.rs)
|
|
||||||
LIB := target/$(shell rustc --print-file-name src/lib.rs)
|
|
||||||
ifeq ($(LIB),target/)
|
|
||||||
# We may not have rustc or the lib.rs file may be broken.
|
|
||||||
# But don't break the rules on that account.
|
|
||||||
LIB := target/libanymap.dummy
|
|
||||||
endif
|
|
||||||
|
|
||||||
anymap: $(LIB)
|
|
||||||
|
|
||||||
$(LIB): $(SRC)
|
|
||||||
@mkdir -p target/
|
|
||||||
$(RUSTC) $(RUSTFLAGS) src/lib.rs --out-dir=target -L target
|
|
||||||
|
|
||||||
doc/anymap/index.html: $(SRC)
|
|
||||||
$(RUSTDOC) src/lib.rs -L target
|
|
||||||
|
|
||||||
target/test: $(SRC)
|
|
||||||
$(RUSTC) $(RUSTFLAGS) --test -o target/test src/lib.rs -L target
|
|
||||||
|
|
||||||
target/quicktest: $(SRC)
|
|
||||||
$(RUSTC) --test -o target/quicktest src/lib.rs -L target
|
|
||||||
|
|
||||||
# There are no tests to run this way at present. It’s all doctests.
|
|
||||||
# test: anymap doctest target/test
|
|
||||||
# target/test --test
|
|
||||||
test: anymap doctest
|
|
||||||
|
|
||||||
bench: anymap target/test
|
|
||||||
target/test --bench
|
|
||||||
|
|
||||||
doctest: $(SRC) $(LIB)
|
|
||||||
$(RUSTDOC) -L target --test src/lib.rs
|
|
||||||
|
|
||||||
# Can't wait for everything to target, optimised too? OK, you can save some time here.
|
|
||||||
quicktest: target/quicktest
|
|
||||||
target/quicktest --test
|
|
||||||
|
|
||||||
docs: doc/anymap/index.html
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf target/ doc/
|
|
||||||
|
|
||||||
TAGS: $(SRC)
|
|
||||||
ctags -f TAGS --options="$(RUST_CTAGS)" --language=rust -R src/
|
|
||||||
|
|
||||||
.PHONY: all docs clean test doctest quicktest anymap
|
|
|
@ -16,9 +16,7 @@ What this means is that in an ``AnyMap`` you may store zero or one values for ev
|
||||||
Instructions
|
Instructions
|
||||||
------------
|
------------
|
||||||
|
|
||||||
make
|
Cargo all the way.
|
||||||
|
|
||||||
This includes building the documentation which you may find at ``doc/anymap/index.html``.
|
|
||||||
|
|
||||||
The documentation, with examples, [is also available online](http://www.rust-ci.org/chris-morgan/anymap/doc/anymap/struct.AnyMap.html).
|
The documentation, with examples, [is also available online](http://www.rust-ci.org/chris-morgan/anymap/doc/anymap/struct.AnyMap.html).
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue