Changeset 380 for trunk/kBuild/tools/GCC3OMF.kmk
- Timestamp:
- Dec 18, 2005, 2:52:47 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/GCC3OMF.kmk
r353 r380 87 87 # @param $(outbase) Output basename (full). Use this for list files and such. 88 88 # @param $(objsuff) Object suffix. 89 define TOOL_GCC3OMF_COMPILE_C 90 #$ (warning dbg: TOOL_GCC3OMF_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps)) 91 $(obj): $(deps) $(source) | $(dirdep) 92 $(call MSG_L2,Compiling $$@ using GCC3) 89 TOOL_GCC3OMF_COMPILE_C_OUTPUT = 90 TOOL_GCC3OMF_COMPILE_C_DEPEND = 91 TOOL_GCC3OMF_COMPILE_C_DEPORD = 92 define TOOL_GCC3OMF_COMPILE_C_CMDS 93 93 $(TOOL_GCC3OMF_CC) -c\ 94 94 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 95 -Wp,-MD,$(dep) -Wp,-MT,$ $@-Wp,-MP \96 -o $ $@\95 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \ 96 -o $(obj)\ 97 97 $(call ABSPATH,$(source)) 98 99 98 endef 100 99 … … 113 112 # @param $(outbase) Output basename (full). Use this for list files and such. 114 113 # @param $(objsuff) Object suffix. 115 define TOOL_GCC3OMF_COMPILE_CXX 116 #$ (warning dbg: TOOL_GCC3OMF_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps)) 117 $(obj): $(deps) $(source) | $(dirdep) 118 $(call MSG_L2,Compiling $$@ using GCC3) 114 TOOL_GCC3OMF_COMPILE_CXX_OUTPUT = 115 TOOL_GCC3OMF_COMPILE_CXX_DEPEND = 116 TOOL_GCC3OMF_COMPILE_CXX_DEPORD = 117 define TOOL_GCC3OMF_COMPILE_CXX_CMDS 119 118 $(TOOL_GCC3OMF_CXX) -c\ 120 119 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 121 -Wp,-MD,$(dep) -Wp,-MT,$ $@-Wp,-MP \122 -o $ $@\120 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \ 121 -o $(obj)\ 123 122 $(call ABSPATH,$(source)) 124 125 123 endef 126 124 … … 128 126 ## Link library 129 127 # @param $(target) Normalized main target name. 130 # @param $( lib) Library name.128 # @param $(out) Library name. 131 129 # @param $(objs) Object files to put in the library. 132 130 # @param $(flags) Flags. … … 136 134 # 137 135 # @param $(outbase) Output basename (full). Use this for list files and such. 138 define TOOL_GCC3OMF_LINK_LIBRARY 139 #$ (warning dbg: TOOL_GCC3OMF_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase)) 140 $(lib): $(deps) $(objs) $(filter %.a %.lib %.def %.imp,$(othersrc)) | $(dirdep) 141 $(call MSG_L1,Creating Library $$@) 142 $(RM) -f $$@ 143 $(if $(filter %.def %.imp,$(othersrc)),$(TOOL_GCC3OMF_AR_IMP) -o $$@ $(filter %.def %.imp,$(othersrc)),) 144 $(TOOL_GCC3OMF_AR) $(flags) $$@ $(objs) $(filter %.a %.lib,$(othersrc)) 145 136 TOOL_GCC3OMF_LINK_LIBRARY_OUTPUT = 137 TOOL_GCC3OMF_LINK_LIBRARY_DEPEND = $(filter %.a %.lib %.def %.imp,$(othersrc)) 138 TOOL_GCC3OMF_LINK_LIBRARY_DEPORD = 139 define TOOL_GCC3OMF_LINK_LIBRARY_CMDS 140 $(if $(filter %.def %.imp,$(othersrc)),$(TOOL_GCC3OMF_AR_IMP) -o $(out) $(filter %.def %.imp,$(othersrc)),) 141 $(TOOL_GCC3OMF_AR) $(flags) $(out) $(objs) $(filter %.a %.lib,$(othersrc)) 146 142 endef 147 143 … … 161 157 # 162 158 # @param $(outbase) Output basename (full). Use this for list files and such. 163 define TOOL_GCC3OMF_LINK_PROGRAM 164 #$ (warning dbg: TOOL_GCC3OMF_LINK_PROGRAM: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase)) 165 $(out) $(outbase).map: $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(filter %.def, $(othersrc)) | $(dirdep) 166 $(call MSG_L1,Creating Program $$@) 167 ifneq ($(custom_pre),) 168 $(eval $(custom_pre)) 169 endif 170 $(TOOL_GCC3OMF_LD) $(flags) -o $$@ $(objs) \ 171 $(filter %.def, $(othersrc)) \ 172 $(foreach p,$(libpath), -L$(p)) \ 173 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) \ 159 TOOL_GCC3OMF_LINK_PROGRAM_OUTPUT = $(outbase).map 160 TOOL_GCC3OMF_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 161 $(filter %.def, $(othersrc)) 162 TOOL_GCC3OMF_LINK_PROGRAM_DEPORD = 163 define TOOL_GCC3OMF_LINK_PROGRAM_CMDS 164 $(TOOL_GCC3OMF_LD) $(flags) -o $(out) $(objs)\ 165 $(filter %.def, $(othersrc))\ 166 $(foreach p,$(libpath), -L$(p))\ 167 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 174 168 $(call TOOL_GCC3_LD_MAP,$(outbase).map) 175 ifneq ($(custom_post),)176 $(eval $(custom_post))177 endif178 _OUT_FILES += $(outbase).map179 180 169 endef 181 170 … … 195 184 # 196 185 # @param $(outbase) Output basename (full). Use this for list files and such. 197 define TOOL_GCC3OMF_LINK_DLL 198 #$ (warning dbg: TOOL_GCC3OMF_LINK_PROGRAM: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase)) 199 $(out) $(outbase).map: $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(filter %.def, $(othersrc)) | $(dirdep) 200 $(call MSG_L1,Creating Program $$@) 201 ifneq ($(custom_pre),) 202 $(eval $(custom_pre)) 203 endif 204 $(TOOL_GCC3OMF_LD) $(TOOL_GCC3OMF_LDFLAGS.dll) $(flags) -o $$@ $(objs) \ 205 $(filter %.def, $(othersrc)) \ 206 $(foreach p,$(libpath), -L$(p)) \ 207 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) \ 208 $(call TOOL_GCC3_LD_MAP,$(outbase).map) 209 ifneq ($(custom_post),) 210 $(eval $(custom_post)) 211 endif 212 _OUT_FILES += $(outbase).map 213 186 TOOL_GCC3OMF_LINK_DLL_OUTPUT = $(outbase).map 187 TOOL_GCC3OMF_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 188 $(filter %.def, $(othersrc)) 189 TOOL_GCC3OMF_LINK_DLL_DEPORD = 190 define TOOL_GCC3OMF_LINK_DLL_CMDS 191 $(TOOL_GCC3OMF_LD) $(TOOL_GCC3OMF_LDFLAGS.dll) $(flags) -o $(out) $(objs)\ 192 $(filter %.def, $(othersrc))\ 193 $(foreach p,$(libpath), -L$(p))\ 194 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 195 $(call TOOL_GCC3_LD_MAP,$(outbase).map) 214 196 endef 215 197 … … 228 210 # 229 211 # @param $(outbase) Output basename (full). Use this for list files and such. 230 define TOOL_GCC3OMF_LINK_SYSMOD 231 #$ (warning dbg: TOOL_GCC3OMF_LINK_SYSMOD: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase)) 232 $(out) $(outbase).map: $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(filter %.def, $(othersrc)) | $(dirdep) 233 $(call MSG_L1,Creating Program $$@) 234 ifneq ($(custom_pre),) 235 $(eval $(custom_pre)) 236 endif 237 $(TOOL_GCC3OMF_LD_SYSMOD) $(TOOL_GCC3OMF_LDFLAGS.sysmod) $(flags) -o $$@ $(objs) \ 238 $(filter %.def, $(othersrc)) \ 239 $(foreach p,$(libpath), -L$(p)) \ 240 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) \ 212 TOOL_GCC3OMF_LINK_SYSMOD_OUTPUT = $(outbase).map 213 TOOL_GCC3OMF_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 214 $(filter %.def, $(othersrc)) 215 TOOL_GCC3OMF_LINK_SYSMOD_DEPORD = 216 define TOOL_GCC3OMF_LINK_SYSMOD_CMDS 217 $(TOOL_GCC3OMF_LD_SYSMOD) $(TOOL_GCC3OMF_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ 218 $(filter %.def, $(othersrc))\ 219 $(foreach p,$(libpath), -L$(p))\ 220 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 241 221 $(call TOOL_GCC3_LD_SYSMOD_MAP,$(outbase).map) 242 ifneq ($(custom_post),) 243 $(eval $(custom_post)) 244 endif 245 _OUT_FILES += $(outbase).map 246 247 endef 248 222 endef 223
Note:
See TracChangeset
for help on using the changeset viewer.