From 4717afcc480ae1ed1141d409af82417984a22aff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20P=C3=A9dron?= Date: Tue, 27 Oct 2015 16:59:43 +0100 Subject: Use an intermediate timestamp file to know when to touch source files The previous approach spawned a shell for every single source files. As we disable parallel make jobs, this is very time consuming. The new approach uses an intermediate timestamp file in $(ERLANG_MK_TMP) to record the last modification of any of $(MAKEFILE_LIST) and touch all source files in one command. Then, the .app file depends on this timestamp file. We test the existence of this timestamp file: if if doesn't exist, don't touch source files, they will be built anyway. $(PROJECT).d now depends directly on $(MAKEFILE_LIST); before, this dependency was indirect through $(ERL_FILES). Also, once $(ERL_FILES) were touched, we do the same with $(PROJECT).d because there is no need to regen it because of this. --- test/core_app.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/core_app.mk') diff --git a/test/core_app.mk b/test/core_app.mk index 2d6a40b..36c7438 100644 --- a/test/core_app.mk +++ b/test/core_app.mk @@ -850,7 +850,7 @@ core-app-makefile-change: build clean $t touch $(APP)/Makefile $t $(SLEEP) $t $(MAKE) -C $(APP) $v - $t find $(APP) -type f -newer $(APP)/Makefile | sort | diff $(APP)/EXPECT - + $t find $(APP) -type f -newer $(APP)/Makefile -not -path "$(APP)/.erlang.mk/*" | sort | diff $(APP)/EXPECT - $t rm $(APP)/EXPECT core-app-mib: build clean -- cgit v1.2.3