202 TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) |
202 TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) |
203 BINTARGET:=$(BINDIR)/$(TARGET).$(TARGETEXT) |
203 BINTARGET:=$(BINDIR)/$(TARGET).$(TARGETEXT) |
204 |
204 |
205 |
205 |
206 # Run trace compiler ##################################### |
206 # Run trace compiler ##################################### |
|
207 # The following variable defines a prereq that source code will |
|
208 # depend on so that tracing happens before compilation. Must be |
|
209 # blank by default so that if tracing is off then there will be |
|
210 # no dependency. The tracecompiler code will set it if this |
|
211 # project actually does depend on trace-generated headers: |
|
212 TRACE_THISCOMPONENT_ALLRULE:= |
207 TRACE_MARKER_PATH:=$(OUTPUTPATH) |
213 TRACE_MARKER_PATH:=$(OUTPUTPATH) |
208 |
214 |
|
215 # Tracing requires a UID to make uniquely numbered trace points |
209 ifeq ($(subst 0,,$(UID3)),) |
216 ifeq ($(subst 0,,$(UID3)),) |
210 ifeq ($(UID2),) |
217 ifeq ($(UID2),) |
211 USE_TRACE_COMPILER:= |
218 USE_TRACE_COMPILER:= |
212 else |
219 else |
213 UID_TC:=$(UID2) |
220 UID_TC:=$(UID2) |
375 define win32compile2object |
382 define win32compile2object |
376 |
383 |
377 $(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d)) |
384 $(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d)) |
378 $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) |
385 $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) |
379 |
386 |
380 $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER)) |
387 $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(TRACE_THISCOMPONENT_ALLRULE) |
381 $(call startrule,win32compile2object,,$(1)) \ |
388 $(call startrule,win32compile2object,,$(1)) \ |
382 $(CC) $$(if $$(filter %.C,$(1)),-lang c) $(CFLAGS) $(OPTION_CW) \ |
389 $(CC) $$(if $$(filter %.C,$(1)),-lang c) $(CFLAGS) $(OPTION_CW) \ |
383 $(if $(STDCPP_BUILD),$$(if $$(filter %.c %.C,$(1)),,$$(call makemacrodef,$(OPT.DEFINE),$(STDCPP_WCHAR_DEF))),) \ |
390 $(if $(STDCPP_BUILD),$$(if $$(filter %.c %.C,$(1)),,$$(call makemacrodef,$(OPT.DEFINE),$(STDCPP_WCHAR_DEF))),) \ |
384 $(DEFINES) $(INCLUDES) $(OPT.OUT)"$$@" "$(1)" \ |
391 $(DEFINES) $(INCLUDES) $(OPT.OUT)"$$@" "$(1)" \ |
385 $(if $(NO_DEPEND_GENERATE),,&& $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.o): $1 \1#' $(call mapwin32file,$(1),.dep) > $(call mapwin32file,$(1),.o.d)) \ |
392 $(if $(NO_DEPEND_GENERATE),,&& $(GNUSED) 's#\\\\\(.\)#/\1#g;s#/ #\\\ #g;s#\([A-Za-z]:\)\\\\#\1/#g;1,1s#.*: .* \(.\)\?$$$$#$(call mapwin32file,$(1),.o): $1 \1#' $(call mapwin32file,$(1),.dep) > $(call mapwin32file,$(1),.o.d)) \ |