77 # to avoid limits on argument lengths and sizes on Windows. |
77 # to avoid limits on argument lengths and sizes on Windows. |
78 # $1 = list of source files |
78 # $1 = list of source files |
79 # $2 = ">" or ">>" i.e. for creating the file. |
79 # $2 = ">" or ">>" i.e. for creating the file. |
80 define sourcelist_grouped_write |
80 define sourcelist_grouped_write |
81 $(call startrule,sourcelist_write) \ |
81 $(call startrule,sourcelist_write) \ |
82 $(if $1,echo -en '$(subst $(CHAR_SPACE),\n,$(strip $(wordlist 1,10,$1)))\n' $2 $$@,true;echo $1) \ |
82 $(if $1,echo -en '$(subst $(CHAR_SPACE),\n,$(strip $(wordlist 1,10,$1)))\n' $2 $$@,true) \ |
83 $(call endrule,sourcelist_write) |
83 $(call endrule,sourcelist_write) |
84 $(if $1,$(call sourcelist_grouped_write,$(wordlist 11,$(words $1),$1),>>),) |
84 $(if $1,$(call sourcelist_grouped_write,$(wordlist 11,$(words $1),$1),>>),) |
85 endef |
85 endef |
86 |
86 |
87 # Write the list of sources for this variant to a file |
87 # Write the list of sources for this variant to a file |
184 define trace_compile |
184 define trace_compile |
185 |
185 |
186 $(TRACE_SOURCE_LIST): |
186 $(TRACE_SOURCE_LIST): |
187 $(call startrule,sourcelist_combine) \ |
187 $(call startrule,sourcelist_combine) \ |
188 $(GNUCAT) $$^ | $(GNUSORT) -u > $$@.new && \ |
188 $(GNUCAT) $$^ | $(GNUSORT) -u > $$@.new && \ |
189 $(GNUMD5SUM) -c $(TRACE_MARKER) || \ |
189 $(GNUMD5SUM) -c $(TRACE_MARKER) 2>/dev/null || \ |
190 $(GNUCP) $$@.new $$@ \ |
190 $(GNUCP) $$@.new $$@ \ |
191 $(call endrule,sourcelist_combine) |
191 $(call endrule,sourcelist_combine) |
192 |
192 |
193 $(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST) |
193 $(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST) |
194 $(call startrule,tracecompile) \ |
194 $(call startrule,tracecompile) \ |
195 ( echo -en "$(OLDTC_TRACE_PRJNAME)\n$(PROJECT_META)\n"; \ |
195 ( echo -en "$(OLDTC_TRACE_PRJNAME)\n$(PROJECT_META)\n"; \ |
196 $(GNUCAT) $(TRACE_SOURCE_LIST); \ |
196 $(GNUCAT) $(TRACE_SOURCE_LIST); \ |
197 echo -en "*ENDOFSOURCEFILES*\n" ) | \ |
197 echo -en "*ENDOFSOURCEFILES*\n" ) | \ |
198 $(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \ |
198 $(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \ |
199 $(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ && \ |
199 $(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ 2>/dev/null && \ |
200 { $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \ |
200 { $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \ |
201 $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \ |
201 $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \ |
202 $(call endrule,tracecompile) |
202 $(call endrule,tracecompile) |
203 endef |
203 endef |
204 |
204 |