aboutsummaryrefslogtreecommitdiffstats
path: root/test/core_app.mk
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <[email protected]>2015-10-27 16:59:43 +0100
committerLoïc Hoguin <[email protected]>2016-10-28 13:16:50 +0300
commit4717afcc480ae1ed1141d409af82417984a22aff (patch)
tree54291b0f468a0cdadb7baab2f756c6a6eb9dd1c6 /test/core_app.mk
parent34a5d5ca352bf06e6208b80bfb8dd32b8e9138c5 (diff)
downloaderlang.mk-4717afcc480ae1ed1141d409af82417984a22aff.tar.gz
erlang.mk-4717afcc480ae1ed1141d409af82417984a22aff.tar.bz2
erlang.mk-4717afcc480ae1ed1141d409af82417984a22aff.zip
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.
Diffstat (limited to 'test/core_app.mk')
-rw-r--r--test/core_app.mk2
1 files changed, 1 insertions, 1 deletions
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