From 747cba4d71643cd86894afa60836fddff83fd389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 1 May 2013 17:03:18 +0200 Subject: Add test-only dependencies --- README.md | 12 ++++++++++++ erlang.mk | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 263c78d..e5596e9 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,18 @@ dep_bullet = https://github.com/extend/bullet.git 0.4.1 They will always be compiled using the command `make`. +You can also specify test-only dependencies. These dependencies will only +be downloaded when running `make tests`. The format is the same as above, +except the variable `TEST_DEPS` holds the list of test-only dependencies. + +``` erlang +TEST_DEPS = ct_helper +dep_ct_helper = https://github.com/extend/ct_helper.git master +``` + +Please note that the test dependencies will only be compiled once +when they are fetched, unlike the normal dependencies. + Commands -------- diff --git a/erlang.mk b/erlang.mk index 0ac0f3f..9e4c698 100644 --- a/erlang.mk +++ b/erlang.mk @@ -34,6 +34,7 @@ DEPS_DIR ?= $(CURDIR)/deps export DEPS_DIR ALL_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(DEPS)) +ALL_TEST_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(TEST_DEPS)) # Application. @@ -94,7 +95,12 @@ clean-docs: # Tests. -build-tests: +$(foreach dep,$(TEST_DEPS),$(eval $(call dep_target,$(dep)))) + +build-test-deps: $(ALL_TEST_DEPS_DIRS) + @for dep in $(ALL_TEST_DEPS_DIRS) ; do $(MAKE) -C $$dep; done + +build-tests: build-test-deps $(gen_verbose) erlc -v $(ERLC_OPTS) -o test/ \ $(wildcard test/*.erl test/*/*.erl) -pa ebin/ -- cgit v1.2.3