Vendor hamcrest-rust
authorCarl Lerche <me@carllerche.com>
Wed, 12 Mar 2014 23:19:39 +0000 (16:19 -0700)
committerCarl Lerche <me@carllerche.com>
Wed, 12 Mar 2014 23:19:39 +0000 (16:19 -0700)
.gitmodules
Makefile
libs/hamcrest-rust [new submodule]

index 3d7b2a79a27d0c4b5d4e4a258c1f718abcb8e1de..21798a1d2cadc477e8a7f5fe473630e9470cc82c 100644 (file)
@@ -4,3 +4,6 @@
 [submodule "libs/hammer.rs"]
        path = libs/hammer.rs
        url = https://github.com/wycats/hammer.rs.git
+[submodule "libs/hamcrest-rust"]
+       path = libs/hamcrest-rust
+       url = https://github.com/carllerche/hamcrest-rust/
index 88b614745f84ad9e505eace3a7e12b79103b0178..ff74ed696a66e06933261fa3a7389d4ad06f5cac 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,39 +1,48 @@
 RUSTC ?= rustc
-# RUSTC_FLAGS ?= --out-dir $(RUSTC_TARGET) -L $(RUSTC_TARGET)/libs
-
-TOML_LIB := $(shell rustc --crate-file-name libs/rust-toml/src/toml/lib.rs)
-HAMMER_LIB := $(shell rustc --crate-file-name libs/hammer.rs/src/hammer.rs)
+RUSTC_FLAGS ?=
 
 # Link flags to pull in dependencies
-DEPS = -L libs/hammer.rs/target -L libs/rust-toml/lib
-SRC = $(wildcard src/*.rs)
 BINS = cargo-read-manifest \
                         cargo-rustc \
                         cargo-verify-project
 
+SRC = $(wildcard src/*.rs)
+DEPS = -L libs/hammer.rs/target -L libs/rust-toml/lib
+TOML = libs/rust-toml/lib/$(shell rustc --crate-file-name libs/rust-toml/src/toml/lib.rs)
+HAMMER = libs/hammer.rs/target/$(shell rustc --crate-type=lib --crate-file-name libs/hammer.rs/src/hammer.rs)
+HAMCREST = libs/hamcrest-rust/target/timestamp
+LIBCARGO = target/libcargo.timestamp
 BIN_TARGETS = $(patsubst %,target/%,$(BINS))
 
 all: $(BIN_TARGETS)
 
-# Builds the hammer dependency
-hammer:
+# === Dependencies
+
+$(HAMMER): $(wildcard libs/hammer.rs/src/*.rs)
        cd libs/hammer.rs && make
 
-toml:
+$(TOML): $(wildcard libs/rust-toml/src/toml/*.rs)
        cd libs/rust-toml && make
 
+$(HAMCREST): $(wildcard libs/hamcrest-rust/src/*.rs)
+       cd libs/hamcrest-rust && make
+
 # === Cargo
 
-target:
+$(LIBCARGO): $(SRC)
        mkdir -p target
+       $(RUSTC) $(RUSTC_FLAGS) --out-dir target src/cargo.rs
+       touch $(LIBCARGO)
 
-libcargo: target $(SRC)
-       $(RUSTC) --out-dir target src/cargo.rs
+libcargo: $(LIBCARGO)
 
 # === Commands
 
-$(BIN_TARGETS): target/%: src/bin/%.rs hammer toml libcargo
-       $(RUSTC) $(DEPS) -Ltarget --out-dir target $<
+$(BIN_TARGETS): target/%: src/bin/%.rs $(HAMMER) $(TOML) $(LIBCARGO)
+       $(RUSTC) $(RUSTC_FLAGS) $(DEPS) -Ltarget --out-dir target $<
+
+test:
+       echo "testing"
 
 clean:
        rm -rf target
@@ -43,4 +52,8 @@ distclean: clean
        cd libs/hammer.rs && make clean
        cd libs/rust-toml && make clean
 
-.PHONY: all clean distclean test hammer libcargo
+# Setup phony tasks
+.PHONY: all clean distclean test libcargo
+
+# Disable unnecessary built-in rules
+.SUFFIXES:
diff --git a/libs/hamcrest-rust b/libs/hamcrest-rust
new file mode 160000 (submodule)
index 0000000..95f531a
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 95f531ad8c726a832f28d171bde2860c77ec7619