Changeset 971 for trunk/kBuild/tools/GXX32.kmk
- Timestamp:
- May 27, 2007, 6:45:22 PM (18 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/GXX32.kmk
r965 r971 2 2 ## @file 3 3 # 4 # kBuild Tool Config - Generic 32-bit GCC v3.2.x or later Using The System GCC.4 # kBuild Tool Config - Generic 32-bit GCC v3.2.x or later using the system GCC, for building C++ code. 5 5 # 6 6 # Copyright (c) 2004-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net> … … 25 25 # 26 26 27 TOOL_G CC32 := Generic 32-bit GCC v3.2.x or later Using The System GCC. \27 TOOL_GXX32 := Generic 32-bit GCC v3.2.x or later using the system GCC, for building C++ code. \ 28 28 More or less Linux/ELF specfic. 29 29 30 30 # Tool Specific Properties 31 TOOL_G CC32_CC ?= gcc$(HOSTSUFF_EXE) -m3232 TOOL_G CC32_CXX ?= g++$(HOSTSUFF_EXE) -m3233 TOOL_G CC32_AS ?= gcc$(HOSTSUFF_EXE) -m3234 TOOL_G CC32_AR ?= ar$(HOSTSUFF_EXE)35 TOOL_G CC32_LD ?= g++$(HOSTSUFF_EXE) -m3236 TOOL_G CC32_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)37 ifndef TOOL_G CC32_LDFLAGS.$(BUILD_TARGET)38 TOOL_G CC32_LDFLAGS.dll ?= -shared39 else 40 TOOL_G CC32_LDFLAGS.dll ?= $(TOOL_GCC32_LDFLAGS.$(BUILD_TARGET))41 endif 42 TOOL_G CC32_LDFLAGS.sysmod ?= -r -m elf_i38643 TOOL_G CC32_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))31 TOOL_GXX32_CC ?= gcc$(HOSTSUFF_EXE) -m32 32 TOOL_GXX32_CXX ?= g++$(HOSTSUFF_EXE) -m32 33 TOOL_GXX32_AS ?= gcc$(HOSTSUFF_EXE) -m32 34 TOOL_GXX32_AR ?= ar$(HOSTSUFF_EXE) 35 TOOL_GXX32_LD ?= g++$(HOSTSUFF_EXE) -m32 36 TOOL_GXX32_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) 37 ifndef TOOL_GXX32_LDFLAGS.$(BUILD_TARGET) 38 TOOL_GXX32_LDFLAGS.dll ?= -shared 39 else 40 TOOL_GXX32_LDFLAGS.dll ?= $(TOOL_GXX32_LDFLAGS.$(BUILD_TARGET)) 41 endif 42 TOOL_GXX32_LDFLAGS.sysmod ?= -r -m elf_i386 43 TOOL_GXX32_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) 44 44 ifeq ($(BUILD_TARGET),os2) 45 TOOL_G CC32_LD_MAP ?= -Zmap=$(1)46 else 47 TOOL_G CC32_LD_MAP ?= -Wl,-Map -Wl,$(1) -Wl,--cref45 TOOL_GXX32_LD_MAP ?= -Zmap=$(1) 46 else 47 TOOL_GXX32_LD_MAP ?= -Wl,-Map -Wl,$(1) -Wl,--cref 48 48 endif 49 49 ifeq ($(BUILD_TARGET),os2) 50 TOOL_G CC32_LD_SYSMOD_MAP ?= -Zmap=$(1)51 else 52 TOOL_G CC32_LD_SYSMOD_MAP ?= -Map $(1) --cref50 TOOL_GXX32_LD_SYSMOD_MAP ?= -Zmap=$(1) 51 else 52 TOOL_GXX32_LD_SYSMOD_MAP ?= -Map $(1) --cref 53 53 endif 54 54 ifdef SLKRUNS 55 TOOL_G CC32_CC += -fmessage-length=056 TOOL_G CC32_CXX += -fmessage-length=055 TOOL_GXX32_CC += -fmessage-length=0 56 TOOL_GXX32_CXX += -fmessage-length=0 57 57 endif 58 58 59 59 # General Properties used by kBuild 60 TOOL_G CC32_COBJSUFF ?= .o61 TOOL_G CC32_CFLAGS ?=62 TOOL_G CC32_CFLAGS.debug ?= -g63 TOOL_G CC32_CFLAGS.profile ?= -g -O2 #-pg64 TOOL_G CC32_CFLAGS.release ?= -O265 TOOL_G CC32_CINCS ?=66 TOOL_G CC32_CDEFS ?=67 68 TOOL_G CC32_CXXOBJSUFF ?= .o69 TOOL_G CC32_CXXOBJSUFF ?= .o70 TOOL_G CC32_CXXFLAGS ?=71 TOOL_G CC32_CXXFLAGS.debug ?= -g72 TOOL_G CC32_CXXFLAGS.profile ?= -g -O2 #-pg73 TOOL_G CC32_CXXFLAGS.release ?= -O274 TOOL_G CC32_CXXINCS ?=75 TOOL_G CC32_CXXDEFS ?=76 77 TOOL_G CC32_ASFLAGS ?= -x assembler-with-cpp78 TOOL_G CC32_ASFLAGS.debug ?= -g79 TOOL_G CC32_ASFLAGS.profile ?= -g80 TOOL_G CC32_ASOBJSUFF ?= .o81 82 TOOL_G CC32_ARFLAGS ?= cr83 TOOL_G CC32_ARLIBSUFF ?= .a84 85 TOOL_G CC32_LDFLAGS ?=86 TOOL_G CC32_LDFLAGS.debug ?= -g87 TOOL_G CC32_LDFLAGS.profile ?= -g60 TOOL_GXX32_COBJSUFF ?= .o 61 TOOL_GXX32_CFLAGS ?= 62 TOOL_GXX32_CFLAGS.debug ?= -g 63 TOOL_GXX32_CFLAGS.profile ?= -g -O2 #-pg 64 TOOL_GXX32_CFLAGS.release ?= -O2 65 TOOL_GXX32_CINCS ?= 66 TOOL_GXX32_CDEFS ?= 67 68 TOOL_GXX32_CXXOBJSUFF ?= .o 69 TOOL_GXX32_CXXOBJSUFF ?= .o 70 TOOL_GXX32_CXXFLAGS ?= 71 TOOL_GXX32_CXXFLAGS.debug ?= -g 72 TOOL_GXX32_CXXFLAGS.profile ?= -g -O2 #-pg 73 TOOL_GXX32_CXXFLAGS.release ?= -O2 74 TOOL_GXX32_CXXINCS ?= 75 TOOL_GXX32_CXXDEFS ?= 76 77 TOOL_GXX32_ASFLAGS ?= -x assembler-with-cpp 78 TOOL_GXX32_ASFLAGS.debug ?= -g 79 TOOL_GXX32_ASFLAGS.profile ?= -g 80 TOOL_GXX32_ASOBJSUFF ?= .o 81 82 TOOL_GXX32_ARFLAGS ?= cr 83 TOOL_GXX32_ARLIBSUFF ?= .a 84 85 TOOL_GXX32_LDFLAGS ?= 86 TOOL_GXX32_LDFLAGS.debug ?= -g 87 TOOL_GXX32_LDFLAGS.profile ?= -g 88 88 89 89 … … 101 101 # @param $(outbase) Output basename (full). Use this for list files and such. 102 102 # @param $(objsuff) Object suffix. 103 TOOL_G CC32_COMPILE_C_OUTPUT =104 TOOL_G CC32_COMPILE_C_DEPEND =105 TOOL_G CC32_COMPILE_C_DEPORD =106 define TOOL_G CC32_COMPILE_C_CMDS107 $(QUIET)$(TOOL_G CC32_CC) -c\103 TOOL_GXX32_COMPILE_C_OUTPUT = 104 TOOL_GXX32_COMPILE_C_DEPEND = 105 TOOL_GXX32_COMPILE_C_DEPORD = 106 define TOOL_GXX32_COMPILE_C_CMDS 107 $(QUIET)$(TOOL_GXX32_CC) -c\ 108 108 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 109 109 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 125 125 # @param $(outbase) Output basename (full). Use this for list files and such. 126 126 # @param $(objsuff) Object suffix. 127 TOOL_G CC32_COMPILE_CXX_OUTPUT =128 TOOL_G CC32_COMPILE_CXX_DEPEND =129 TOOL_G CC32_COMPILE_CXX_DEPORD =130 define TOOL_G CC32_COMPILE_CXX_CMDS131 $(QUIET)$(TOOL_G CC32_CXX) -c\127 TOOL_GXX32_COMPILE_CXX_OUTPUT = 128 TOOL_GXX32_COMPILE_CXX_DEPEND = 129 TOOL_GXX32_COMPILE_CXX_DEPORD = 130 define TOOL_GXX32_COMPILE_CXX_CMDS 131 $(QUIET)$(TOOL_GXX32_CXX) -c\ 132 132 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 133 133 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 150 150 # @param $(objsuff) Object suffix. 151 151 # 152 TOOL_G CC32_COMPILE_AS_OUTPUT =153 TOOL_G CC32_COMPILE_AS_DEPEND =154 TOOL_G CC32_COMPILE_AS_DEPORD =155 define TOOL_G CC32_COMPILE_AS_CMDS156 $(QUIET)$(TOOL_G CC32_AS) -c\152 TOOL_GXX32_COMPILE_AS_OUTPUT = 153 TOOL_GXX32_COMPILE_AS_DEPEND = 154 TOOL_GXX32_COMPILE_AS_DEPORD = 155 define TOOL_GXX32_COMPILE_AS_CMDS 156 $(QUIET)$(TOOL_GXX32_AS) -c\ 157 157 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 158 158 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 171 171 # @param $(othersrc) Unhandled sources. 172 172 # @param $(outbase) Output basename (full). Use this for list files and such. 173 TOOL_G CC32_LINK_LIBRARY_OUTPUT = $(out).ar-script174 TOOL_G CC32_LINK_LIBRARY_DEPEND = $(othersrc)175 TOOL_G CC32_LINK_LIBRARY_DEPORD =173 TOOL_GXX32_LINK_LIBRARY_OUTPUT = $(out).ar-script 174 TOOL_GXX32_LINK_LIBRARY_DEPEND = $(othersrc) 175 TOOL_GXX32_LINK_LIBRARY_DEPORD = 176 176 ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n) 177 define TOOL_G CC32_LINK_LIBRARY_CMDS177 define TOOL_GXX32_LINK_LIBRARY_CMDS 178 178 $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)' 179 179 $(QUIET)$(APPEND) -n $(out).ar-script \ … … 182 182 $(QUIET)$(APPEND) $(out).ar-script 'SAVE' 183 183 $(QUIET)$(APPEND) $(out).ar-script 'END' 184 $(QUIET)$(TOOL_G CC32_AR) -M < $(out).ar-script185 endef 186 else 187 define TOOL_G CC32_LINK_LIBRARY_CMDS184 $(QUIET)$(TOOL_GXX32_AR) -M < $(out).ar-script 185 endef 186 else 187 define TOOL_GXX32_LINK_LIBRARY_CMDS 188 188 $(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)" 189 189 $(foreach o, $(objs)\ … … 193 193 $(QUIET)$(APPEND) $(out).ar-script "SAVE" 194 194 $(QUIET)$(APPEND) $(out).ar-script "END" 195 $(QUIET)$(TOOL_G CC32_AR) -M < $(out).ar-script195 $(QUIET)$(TOOL_GXX32_AR) -M < $(out).ar-script 196 196 endef 197 197 endif … … 211 211 # @param $(custom_post) Custom step invoked after linking. 212 212 # @param $(outbase) Output basename (full). Use this for list files and such. 213 TOOL_G CC32_LINK_PROGRAM_OUTPUT = $(outbase).map214 TOOL_G CC32_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))215 TOOL_G CC32_LINK_PROGRAM_DEPORD =216 define TOOL_G CC32_LINK_PROGRAM_CMDS217 $(QUIET)$(TOOL_G CC32_LD) $(flags) -o $(out) $(objs)\213 TOOL_GXX32_LINK_PROGRAM_OUTPUT = $(outbase).map 214 TOOL_GXX32_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 215 TOOL_GXX32_LINK_PROGRAM_DEPORD = 216 define TOOL_GXX32_LINK_PROGRAM_CMDS 217 $(QUIET)$(TOOL_GXX32_LD) $(flags) -o $(out) $(objs)\ 218 218 $(foreach p,$(libpath), -L$(p))\ 219 219 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 220 $(call TOOL_G CC32_LD_MAP,$(outbase).map)220 $(call TOOL_GXX32_LD_MAP,$(outbase).map) 221 221 endef 222 222 … … 235 235 # @param $(custom_post) Custom step invoked after linking. 236 236 # @param $(outbase) Output basename (full). Use this for list files and such. 237 TOOL_G CC32_LINK_DLL_OUTPUT = $(outbase).map238 TOOL_G CC32_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))239 TOOL_G CC32_LINK_DLL_DEPORD =240 define TOOL_G CC32_LINK_DLL_CMDS241 $(QUIET)$(TOOL_G CC32_LD) $(TOOL_GCC32_LDFLAGS.dll) $(flags) -o $(out)\242 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_G CC32_LD_SONAME,$(target),$(out)))\237 TOOL_GXX32_LINK_DLL_OUTPUT = $(outbase).map 238 TOOL_GXX32_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 239 TOOL_GXX32_LINK_DLL_DEPORD = 240 define TOOL_GXX32_LINK_DLL_CMDS 241 $(QUIET)$(TOOL_GXX32_LD) $(TOOL_GXX32_LDFLAGS.dll) $(flags) -o $(out)\ 242 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GXX32_LD_SONAME,$(target),$(out)))\ 243 243 $(objs)\ 244 244 $(foreach p,$(libpath), -L$(p))\ 245 245 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 246 $(call TOOL_G CC32_LD_MAP,$(outbase).map)246 $(call TOOL_GXX32_LD_MAP,$(outbase).map) 247 247 endef 248 248 … … 261 261 # @param $(custom_post) Custom step invoked after linking. 262 262 # @param $(outbase) Output basename (full). Use this for list files and such. 263 TOOL_G CC32_LINK_SYSMOD_OUTPUT = $(outbase).map264 TOOL_G CC32_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))265 TOOL_G CC32_LINK_SYSMOD_DEPORD =266 define TOOL_G CC32_LINK_SYSMOD_CMDS267 $(QUIET)$(TOOL_G CC32_LD_SYSMOD) $(TOOL_GCC32_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\263 TOOL_GXX32_LINK_SYSMOD_OUTPUT = $(outbase).map 264 TOOL_GXX32_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 265 TOOL_GXX32_LINK_SYSMOD_DEPORD = 266 define TOOL_GXX32_LINK_SYSMOD_CMDS 267 $(QUIET)$(TOOL_GXX32_LD_SYSMOD) $(TOOL_GXX32_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ 268 268 $(foreach p,$(libpath), -L$(p))\ 269 269 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 270 $(call TOOL_G CC32_LD_SYSMOD_MAP,$(outbase).map)271 endef 272 270 $(call TOOL_GXX32_LD_SYSMOD_MAP,$(outbase).map) 271 endef 272
Note:
See TracChangeset
for help on using the changeset viewer.