From 2b7e434f7327b7fdda72950e27f8fc0a27de2547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Date: Tue, 25 Jun 2019 14:18:43 +0200 Subject: Accept a list of deps to forcibly rebuild in `$(FORCE_REBUILD)` ... in addition to the `$(force_rebuild_dep)` function. It's easier for the common use case than specify a function. --- test/core_deps.mk | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'test/core_deps.mk') diff --git a/test/core_deps.mk b/test/core_deps.mk index dcb84b6..b96af8d 100644 --- a/test/core_deps.mk +++ b/test/core_deps.mk @@ -210,6 +210,36 @@ core-deps-dep-built-force-full: init $t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | grep -v ".git" | sort | diff $(APP)/EXPECT - $t rm $(APP)/EXPECT + $i "Touch one cowlib file to mark it for recompilation" + $t $(SLEEP) + $t touch $(APP)/deps/cowlib/src/cow_http.erl + + $i "Check that cowlib is not rebuilt if \`FORCE_REBUILD\` is empty" + $t touch $(APP)/EXPECT + $t $(SLEEP) + $t $(MAKE) -C $(APP) FORCE_REBUILD= $v + $t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | sort | diff $(APP)/EXPECT - + $t rm $(APP)/EXPECT + + $i "Check that cowlib is not rebuilt if \`FORCE_REBUILD\` does not mention cowlib" + $t touch $(APP)/EXPECT + $t $(SLEEP) + $t $(MAKE) -C $(APP) FORCE_REBUILD='other_dep' $v + $t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | sort | diff $(APP)/EXPECT - + $t rm $(APP)/EXPECT + + $i "Check that cowlib is rebuilt if \`FORCE_REBUILD\` contains cowlib" + $t printf "%s\n" \ + $(APP)/deps/cowlib/cowlib.d \ + $(APP)/deps/cowlib/ebin/cowlib.app \ + $(APP)/deps/cowlib/ebin/cow_http.beam \ + $(APP)/deps/cowlib/ebin/dep_built | sort > $(APP)/EXPECT + $t $(SLEEP) + $t $(MAKE) -C $(APP) FORCE_REBUILD='other_dep cowlib' $v +# Files in .git might end up modified due to the id generation in the .app file. + $t find $(APP)/deps/cowlib -type f -newer $(APP)/EXPECT | grep -v ".git" | sort | diff $(APP)/EXPECT - + $t rm $(APP)/EXPECT + core-deps-dep-built-ln: init $i "Bootstrap a new OTP library named $(APP)" @@ -1015,8 +1045,8 @@ core-deps-dep-makefile-change: init $t $(MAKE) -C $(APP)/my_dep/ -f erlang.mk bootstrap-lib $v $i "Add my_dep to the list of dependencies" -# We use force_rebuild_dep to ensure it gets rebuilt even on Windows. - $t perl -ni.bak -e "print;if ($$.==1) {print \"DEPS = my_dep\ndep_my_dep = ln $(CURDIR)/$(APP)/my_dep/\nforce_rebuild_dep = test \";print '\$$1';print \" = $(CURDIR)/$(APP)/deps/my_dep\n\"}" $(APP)/Makefile +# We use FORCE_REBUILD to ensure it gets rebuilt even on Windows. + $t perl -ni.bak -e "print;if ($$.==1) {print \"DEPS = my_dep\ndep_my_dep = ln $(CURDIR)/$(APP)/my_dep/\nFORCE_REBUILD = my_dep\n\"}" $(APP)/Makefile ifdef LEGACY $i "Add my_dep to the applications key in the .app.src file" -- cgit v1.2.3