File 2242-Speedup-depend.mk-creation.patch of Package erlang
From 371fe8a131270d3204f1e47d35782cb822ce0ce7 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson <dgud@erlang.org> Date: Wed, 11 Sep 2019 10:05:06 +0200 Subject: [PATCH 2/3] Speedup depend.mk creation Run the dependency generation once and sed several times, since it is only the sed scripts the changes between runs. Speedup most notable on windows where the dependency generation takes a lot of time. --- lib/erl_interface/src/Makefile.in | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in index ad4c7b8f21..5dee4dc5ed 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in @@ -788,22 +788,17 @@ $(TARGET)/depend.mk: $(TARGET)/config.h $(gen_verbose) $(V_colon)echo "Generating dependency file depend.mk..." @echo "# Generated dependency rules" > $@ - $(V_CC) $(CFLAGS) -MM $(SOURCES) | \ - sed 's&$(TARGET)&\$$\(TARGET\)&g' | \ - sed 's/^.*:/\$$\(ST_OBJDIR\)\/&/' >> $@ - @echo >> $@ - $(V_CC) $(CFLAGS) -MM $(SOURCES) | \ - sed 's&$(TARGET)&\$$\(TARGET\)&g' | \ - sed 's/^.*:/\$$\(MT_OBJDIR\)\/&/' >> $@ - @echo >> $@ - $(V_CC) $(CFLAGS) -MM $(SOURCES) | \ - sed 's&$(TARGET)&\$$\(TARGET\)&g' | \ - sed 's/^.*:/\$$\(MD_OBJDIR\)\/&/' >> $@ - @echo >> $@ - $(V_CC) $(CFLAGS) -MM $(SOURCES) | \ - sed 's&$(TARGET)&\$$\(TARGET\)&g' | \ - sed 's/^.*:/\$$\(MDD_OBJDIR\)\/&/' >> $@ - @echo >> $@ + $(V_CC) $(CFLAGS) -MM $(SOURCES) | \ + sed 's&$(TARGET)&\$$\(TARGET\)&g' > $@.$$$$; \ + sed 's/^.*:/\$$\(ST_OBJDIR\)\/&/' < $@.$$$$ >> $@; \ + echo >> $@; \ + sed 's/^.*:/\$$\(MT_OBJDIR\)\/&/' < $@.$$$$ >> $@; \ + echo >> $@; \ + sed 's/^.*:/\$$\(MD_OBJDIR\)\/&/' < $@.$$$$ >> $@; \ + echo >> $@; \ + sed 's/^.*:/\$$\(MDD_OBJDIR\)\/&/' < $@.$$$$ >> $@; \ + echo >> $@; \ + rm -f $@.$$$$ # For some reason this has to be after 'opt' target -include $(TARGET)/depend.mk -- 2.16.4