38 |
38 |
39 |
39 |
40 # Reset these variables as they change for every single target type |
40 # Reset these variables as they change for every single target type |
41 # LINKER_ENTRYPOINT_ADORNMENT will be blank for GCCE; for RVCT it will look like "(uc_exe_.o)" |
41 # LINKER_ENTRYPOINT_ADORNMENT will be blank for GCCE; for RVCT it will look like "(uc_exe_.o)" |
42 # LINKER_ENTRYPOINT_DECORATION will be blank for RVCT; for GCCE it will look like "-u _E32Startup" |
42 # LINKER_ENTRYPOINT_DECORATION will be blank for RVCT; for GCCE it will look like "-u _E32Startup" |
|
43 # LINKER_SEPARATOR is a comma for GCCE as g++ is used for linking; for RVCT is should be a space, but |
|
44 # as make strips trailing spaces, we use the CHAR_SPACE variable. |
43 |
45 |
44 LINKER_ENTRYPOINT_ADORNMENT:= |
46 LINKER_ENTRYPOINT_ADORNMENT:= |
45 LINKER_ENTRYPOINT_DECORATION:= |
47 LINKER_ENTRYPOINT_DECORATION:= |
|
48 LINKER_SEPARATOR:= |
46 |
49 |
47 # For GCCE |
50 # For GCCE |
48 ifeq ($(TOOLCHAIN),GCCE) |
51 ifeq ($(TOOLCHAIN),GCCE) |
49 LINKER_ENTRYPOINT_DECORATION:=$(if $(call isoneof,$(TARGETTYPE),exexp exe),-u _E32Startup,-u _E32Dll) |
52 LINKER_ENTRYPOINT_DECORATION:=$(if $(call isoneof,$(TARGETTYPE),exexp exe),-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)_E32Startup,-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)_E32Dll) |
|
53 LINKER_SEPARATOR:=$(CHAR_COMMA) |
50 endif |
54 endif |
51 |
55 |
52 # For RVCT |
56 # For RVCT |
53 ifeq ($(TOOLCHAIN),RVCT) |
57 ifeq ($(TOOLCHAIN),RVCT) |
54 ifeq ($(call isoneof,$(TARGETTYPE),exe stdexe),1) # isoneof returns 1 if true, empty string if false |
58 ifeq ($(call isoneof,$(TARGETTYPE),exe stdexe),1) # isoneof returns 1 if true, empty string if false |
72 endif |
76 endif |
73 |
77 |
74 ifeq ($(TARGETTYPE),kdll) |
78 ifeq ($(TARGETTYPE),kdll) |
75 LINKER_ENTRYPOINT_ADORNMENT:=(L_ENTRY_.o) |
79 LINKER_ENTRYPOINT_ADORNMENT:=(L_ENTRY_.o) |
76 endif |
80 endif |
|
81 LINKER_SEPARATOR:=$(CHAR_SPACE) |
77 endif |
82 endif |
78 |
83 |
79 # "OPTION" metadata from the front-end can potentially be supplied simultaneously for both GCCE and RVCT, |
84 # "OPTION" metadata from the front-end can potentially be supplied simultaneously for both GCCE and RVCT, |
80 # so we need to make a decision on what we make use of based on the TOOLCHAIN in use. |
85 # so we need to make a decision on what we make use of based on the TOOLCHAIN in use. |
81 # Currently we only support changes to RVCT tool calls. |
86 # Currently we only support changes to RVCT tool calls. |