aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-11-23 17:40:57 +0100
committerLoïc Hoguin <[email protected]>2018-11-23 17:40:57 +0100
commit30ac929bf7a79963c8aa5e2bfef62dc932f90186 (patch)
tree1de7e64df460ba1f239f82b7ff5f5a17e8eeb51c
parent5c0e3cc447297a316b30248d291b8e149843e96e (diff)
downloaderlang.mk-30ac929bf7a79963c8aa5e2bfef62dc932f90186.tar.gz
erlang.mk-30ac929bf7a79963c8aa5e2bfef62dc932f90186.tar.bz2
erlang.mk-30ac929bf7a79963c8aa5e2bfef62dc932f90186.zip
Ensure apps have APPS_DIR and DEPS_DIR defined
So they can use include files and other from other apps when they're built directly, and that they use the same deps directory.
-rw-r--r--plugins/bootstrap.mk7
-rw-r--r--test/core_deps.mk15
2 files changed, 21 insertions, 1 deletions
diff --git a/plugins/bootstrap.mk b/plugins/bootstrap.mk
index 88d71b2..17b32b8 100644
--- a/plugins/bootstrap.mk
+++ b/plugins/bootstrap.mk
@@ -75,7 +75,12 @@ PROJECT = $p
PROJECT_DESCRIPTION = New project
PROJECT_VERSION = 0.1.0
-include $(call core_relpath,$(dir $(ERLANG_MK_FILENAME)),$(APPS_DIR)/app)/erlang.mk
+# Make sure we know where the applications are located.
+ROOT_DIR := $(call core_relpath,$(dir $(ERLANG_MK_FILENAME)),$(APPS_DIR)/app)
+APPS_DIR := ..
+DEPS_DIR := $(call core_relpath,$(DEPS_DIR),$(APPS_DIR)/app)
+
+include $$(ROOT_DIR)/erlang.mk
endef
define bs_app
diff --git a/test/core_deps.mk b/test/core_deps.mk
index 6132e52..6573939 100644
--- a/test/core_deps.mk
+++ b/test/core_deps.mk
@@ -297,6 +297,21 @@ core-deps-apps-dir-include-lib: build clean
$i "Distclean the application"
$t $(MAKE) -C $(APP) distclean $v
+ $i "Build in a subdirectory"
+ $t $(MAKE) -C $(APP)/deep/libs/boy_app $v
+
+ $i "Check that all compiled files exist (excluding the top-level app)"
+ $t ! test -f $(APP)/$(APP).d
+ $t ! test -f $(APP)/ebin/$(APP).app
+
+ $t test -f $(APP)/deep/libs/boy_app/boy_app.d
+ $t test -f $(APP)/deep/libs/boy_app/ebin/boy_app.app
+ $t test -f $(APP)/deep/libs/boy_app/ebin/boy.beam
+
+ $t test -f $(APP)/deep/libs/girl_app/girl_app.d
+ $t test -f $(APP)/deep/libs/girl_app/ebin/girl_app.app
+ $t test -f $(APP)/deep/libs/girl_app/ebin/girl.beam
+
core-deps-apps-new-app: build clean
$i "Bootstrap a new OTP library named $(APP)"