Changeset 380 for trunk/kBuild/tools/GCC.kmk
- Timestamp:
- Dec 18, 2005, 2:52:47 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/GCC.kmk
r353 r380 76 76 # @param $(dirdep) Directory creation dependency. 77 77 # @param $(deps) Other dependencies. 78 #79 78 # @param $(outbase) Output basename (full). Use this for list files and such. 80 79 # @param $(objsuff) Object suffix. 81 define TOOL_GCC_COMPILE_C 82 #$ (warning dbg: TOOL_GCC_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps)) 83 $(obj): $(deps) $(source) | $(dirdep) 84 $(call MSG_L2,Compiling $$@ using GCC) 80 # 81 TOOL_GCC_COMPILE_C_OUTPUT = 82 TOOL_GCC_COMPILE_C_DEPEND = 83 TOOL_GCC_COMPILE_C_DEPORD = 84 define TOOL_GCC_COMPILE_C_CMDS 85 85 $(TOOL_GCC_CC) -c\ 86 86 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 87 -Wp,-MD,$(dep) -Wp,-MT,$ $@\88 -o $ $@\87 -Wp,-MD,$(dep) -Wp,-MT,$(out) \ 88 -o $(out)\ 89 89 $(call ABSPATH,$(source)) 90 91 90 endef 92 91 … … 105 104 # @param $(outbase) Output basename (full). Use this for list files and such. 106 105 # @param $(objsuff) Object suffix. 107 define TOOL_GCC_COMPILE_CXX 108 #$ (warning dbg: TOOL_GCC_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps)) 109 $(obj): $(deps) $(source) | $(dirdep) 110 $(call MSG_L2,Compiling $$@ using GCC) 106 TOOL_GCC_COMPILE_CXX_OUTPUT = 107 TOOL_GCC_COMPILE_CXX_DEPEND = 108 TOOL_GCC_COMPILE_CXX_DEPORD = 109 define TOOL_GCC_COMPILE_CXX_CMDS 111 110 $(TOOL_GCC_CXX) -c\ 112 111 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 113 -Wp,-MD,$(dep) -Wp,-MT,$ $@\114 -o $ $@\112 -Wp,-MD,$(dep) -Wp,-MT,$(out) \ 113 -o $(out)\ 115 114 $(call ABSPATH,$(source)) 116 117 115 endef 118 116 … … 120 118 ## Link library 121 119 # @param $(target) Normalized main target name. 122 # @param $( lib)Library name.120 # @param $(out) Library name. 123 121 # @param $(objs) Object files to put in the library. 124 122 # @param $(flags) Flags. … … 127 125 # 128 126 # @param $(outbase) Output basename (full). Use this for list files and such. 129 define TOOL_GCC_LINK_LIBRARY 130 #$ (warning dbg: TOOL_GCC_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) outbase=$(outbase)) 131 $(lib): $(deps) $(objs) | $(dirdep) 132 $(call MSG_L1,Creating Library $$@) 133 $(RM) -f $$@ 134 $(TOOL_GCC_AR) $(flags) $$@ $(objs) 135 127 TOOL_GCC_LINK_LIBRARY_OUTPUT = 128 TOOL_GCC_LINK_LIBRARY_DEPEND = 129 TOOL_GCC_LINK_LIBRARY_DEPORD = 130 define TOOL_GCC_LINK_LIBRARY_CMDS 131 $(TOOL_GCC_AR) $(flags) $(out) $(objs) 136 132 endef 137 133 … … 151 147 # 152 148 # @param $(outbase) Output basename (full). Use this for list files and such. 153 define TOOL_GCC_LINK_PROGRAM 154 #$ (warning dbg: TOOL_GCC_LINK_PROGRAM: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase)) 155 $(out): $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) | $(dirdep) 156 $(call MSG_L1,Creating Program $$@) 157 ifneq ($(custom_pre),) 158 $(eval $(custom_pre)) 159 endif 160 $(TOOL_GCC_LD) $(flags) -o $$@ $(objs) \ 161 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) 162 ifneq ($(custom_post),) 163 $(eval $(custom_post)) 164 endif 165 149 TOOL_GCC_LINK_PROGRAM_OUTPUT = 150 TOOL_GCC_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 151 TOOL_GCC_LINK_PROGRAM_DEPORD = 152 define TOOL_GCC_LINK_PROGRAM_CMDS 153 $(TOOL_GCC_LD) $(flags) -o $(out) $(objs) \ 154 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) 166 155 endef 167 156 … … 179 168 # @param $(custom_pre) Custom step invoked before linking. 180 169 # @param $(custom_post) Custom step invoked after linking. 181 # 182 # @param $(outbase) Output basename (full). Use this for list files and such. 183 define TOOL_GCC_LINK_DLL 184 #$ (warning dbg: TOOL_GCC_LINK_DLL: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase)) 185 $(out): $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) | $(dirdep) 186 $(call MSG_L1,Creating Program $$@) 187 ifneq ($(custom_pre),) 188 $(eval $(custom_pre)) 189 endif 190 $(TOOL_GCC_LD) $(TOOL_GCC_LDFLAGS.dll) $(flags) -o $$@ $(objs) \ 170 # @param $(outbase) Output basename (full). Use this for list files and such. 171 TOOL_GCC_LINK_DLL_OUTPUT = 172 TOOL_GCC_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 173 TOOL_GCC_LINK_DLL_DEPORD = 174 define TOOL_GCC_LINK_DLL_CMDS 175 $(TOOL_GCC_LD) $(TOOL_GCC_LDFLAGS.dll) $(flags) -o $(out) $(objs) \ 191 176 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) 192 ifneq ($(custom_post),)193 $(eval $(custom_post))194 endif195 196 177 endef 197 178
Note:
See TracChangeset
for help on using the changeset viewer.