common/makefiles/MakeBase.gmk

changeset 754
78aaf5d3314d
parent 725
03e60e87d92a
child 839
174a54ce39c4
     1.1 --- a/common/makefiles/MakeBase.gmk	Fri Jun 28 12:00:03 2013 +0200
     1.2 +++ b/common/makefiles/MakeBase.gmk	Fri Jun 28 12:02:37 2013 +0200
     1.3 @@ -332,9 +332,11 @@
     1.4          # Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
     1.5          # For each target executed, will print
     1.6          # Building <TARGET> (from <FIRST PREREQUISITE>) (<ALL NEWER PREREQUISITES> newer)
     1.7 -        # but with a limit of 20 on <ALL NEWER PREREQUISITES>, to avoid cluttering logs too much (and causing a crash on Cygwin).
     1.8 -        OLD_SHELL:=$$(SHELL)
     1.9 -        WRAPPER_SHELL:=$$(OLD_SHELL) $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(TIME),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log $$(OLD_SHELL)
    1.10 +        # but with a limit of 20 on <ALL NEWER PREREQUISITES>, to avoid cluttering logs too much 
    1.11 +        # (and causing a crash on Cygwin).
    1.12 +        # Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris.
    1.13 +        # Only use time if it's GNU time which supports format and output file.
    1.14 +        WRAPPER_SHELL:=/bin/bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log /bin/bash
    1.15          SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL)
    1.16      endif
    1.17      # Never remove warning messages; this is just for completeness

mercurial