Changeset 971 for trunk/kBuild/tools/GXX3PLAIN.kmk
- Timestamp:
- May 27, 2007, 6:45:22 PM (18 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/GXX3PLAIN.kmk
r965 r971 2 2 ## @file 3 3 # 4 # kBuild Tool Config - Generic GCC v3.2.x or later Using The System GCC, any Unix Linker and Unix Archiver.4 # kBuild Tool Config - Generic GCC v3.2.x or later using the system GCC, any Unix linker and Unix archiver to build 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 CC3PLAIN := Generic GCC v3.2.x or later Using The System GCC, any Unix Linker and Unix Archiver.27 TOOL_GXX3PLAIN := Generic GCC v3.2.x or later using the system GCC, any Unix linker and Unix archiver to build C++ code. 28 28 29 29 # Tool Specific Properties 30 TOOL_G CC3PLAIN_CC ?= gcc$(HOSTSUFF_EXE)31 TOOL_G CC3PLAIN_CXX ?= g++$(HOSTSUFF_EXE)32 TOOL_G CC3PLAIN_AS ?= gcc$(HOSTSUFF_EXE)33 TOOL_G CC3PLAIN_AR ?= ar$(HOSTSUFF_EXE)34 TOOL_G CC3PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE)35 TOOL_G CC3PLAIN_LD ?= g++$(HOSTSUFF_EXE)36 TOOL_G CC3PLAIN_LDFLAGS.dll.os2 ?= -Zdll37 TOOL_G CC3PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib38 ifndef TOOL_G CC_LDFLAGS.$(BUILD_TARGET)39 TOOL_G CC3PLAIN_LDFLAGS.dll ?= -shared30 TOOL_GXX3PLAIN_CC ?= gcc$(HOSTSUFF_EXE) 31 TOOL_GXX3PLAIN_CXX ?= g++$(HOSTSUFF_EXE) 32 TOOL_GXX3PLAIN_AS ?= gcc$(HOSTSUFF_EXE) 33 TOOL_GXX3PLAIN_AR ?= ar$(HOSTSUFF_EXE) 34 TOOL_GXX3PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE) 35 TOOL_GXX3PLAIN_LD ?= g++$(HOSTSUFF_EXE) 36 TOOL_GXX3PLAIN_LDFLAGS.dll.os2 ?= -Zdll 37 TOOL_GXX3PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib 38 ifndef TOOL_GXX3PLAIN_LDFLAGS.$(BUILD_TARGET) 39 TOOL_GXX3PLAIN_LDFLAGS.dll ?= -shared 40 40 else 41 TOOL_G CC3PLAIN_LDFLAGS.dll ?= $(TOOL_GCC_LDFLAGS.$(BUILD_TARGET))41 TOOL_GXX3PLAIN_LDFLAGS.dll ?= $(TOOL_GXX3PLAIN_LDFLAGS.$(BUILD_TARGET)) 42 42 endif 43 TOOL_G CC3PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE)44 TOOL_G CC3PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE)45 TOOL_G CC3PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE)46 ifndef TOOL_G CC3PLAIN_LD_SONAME.$(BUILD_TARGET)47 TOOL_G CC3PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))43 TOOL_GXX3PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE) 44 TOOL_GXX3PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE) 45 TOOL_GXX3PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE) 46 ifndef TOOL_GXX3PLAIN_LD_SONAME.$(BUILD_TARGET) 47 TOOL_GXX3PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) 48 48 else 49 TOOL_G CC3PLAIN_LD_SONAME ?= $(TOOL_GCC3PLAIN_LD_SONAME.$(BUILD_TARGET))49 TOOL_GXX3PLAIN_LD_SONAME ?= $(TOOL_GXX3PLAIN_LD_SONAME.$(BUILD_TARGET)) 50 50 endif 51 51 ifdef SLKRUNS 52 TOOL_G CC3PLAIN_CC += -fmessage-length=053 TOOL_G CC3PLAIN_CXX += -fmessage-length=052 TOOL_GXX3PLAIN_CC += -fmessage-length=0 53 TOOL_GXX3PLAIN_CXX += -fmessage-length=0 54 54 endif 55 55 56 56 # General Properties used by kBuild 57 TOOL_G CC3PLAIN_COBJSUFF ?= .o58 TOOL_G CC3PLAIN_CFLAGS ?=59 TOOL_G CC3PLAIN_CFLAGS.debug ?= -g60 TOOL_G CC3PLAIN_CFLAGS.profile ?= -g -O2 #-pg61 TOOL_G CC3PLAIN_CFLAGS.release ?= -O262 TOOL_G CC3PLAIN_CINCS ?=63 TOOL_G CC3PLAIN_CDEFS ?=64 65 TOOL_G CC3PLAIN_CXXOBJSUFF ?= .o66 TOOL_G CC3PLAIN_CXXOBJSUFF ?= .o67 TOOL_G CC3PLAIN_CXXFLAGS ?=68 TOOL_G CC3PLAIN_CXXFLAGS.debug ?= -g69 TOOL_G CC3PLAIN_CXXFLAGS.profile ?= -g -O2 #-pg70 TOOL_G CC3PLAIN_CXXFLAGS.release ?= -O271 TOOL_G CC3PLAIN_CXXINCS ?=72 TOOL_G CC3PLAIN_CXXDEFS ?=73 74 TOOL_G CC3PLAIN_ASFLAGS ?= -x assembler-with-cpp75 TOOL_G CC3PLAIN_ASFLAGS.debug ?= -g76 TOOL_G CC3PLAIN_ASFLAGS.profile ?= -g77 TOOL_G CC3PLAIN_ASOBJSUFF ?= .o78 79 TOOL_G CC3PLAIN_ARFLAGS ?= cr80 TOOL_G CC3PLAIN_ARLIBSUFF ?= .a81 82 TOOL_G CC3PLAIN_LDFLAGS ?=83 TOOL_G CC3PLAIN_LDFLAGS.debug ?= -g84 TOOL_G CC3PLAIN_LDFLAGS.profile ?= -g57 TOOL_GXX3PLAIN_COBJSUFF ?= .o 58 TOOL_GXX3PLAIN_CFLAGS ?= 59 TOOL_GXX3PLAIN_CFLAGS.debug ?= -g 60 TOOL_GXX3PLAIN_CFLAGS.profile ?= -g -O2 #-pg 61 TOOL_GXX3PLAIN_CFLAGS.release ?= -O2 62 TOOL_GXX3PLAIN_CINCS ?= 63 TOOL_GXX3PLAIN_CDEFS ?= 64 65 TOOL_GXX3PLAIN_CXXOBJSUFF ?= .o 66 TOOL_GXX3PLAIN_CXXOBJSUFF ?= .o 67 TOOL_GXX3PLAIN_CXXFLAGS ?= 68 TOOL_GXX3PLAIN_CXXFLAGS.debug ?= -g 69 TOOL_GXX3PLAIN_CXXFLAGS.profile ?= -g -O2 #-pg 70 TOOL_GXX3PLAIN_CXXFLAGS.release ?= -O2 71 TOOL_GXX3PLAIN_CXXINCS ?= 72 TOOL_GXX3PLAIN_CXXDEFS ?= 73 74 TOOL_GXX3PLAIN_ASFLAGS ?= -x assembler-with-cpp 75 TOOL_GXX3PLAIN_ASFLAGS.debug ?= -g 76 TOOL_GXX3PLAIN_ASFLAGS.profile ?= -g 77 TOOL_GXX3PLAIN_ASOBJSUFF ?= .o 78 79 TOOL_GXX3PLAIN_ARFLAGS ?= cr 80 TOOL_GXX3PLAIN_ARLIBSUFF ?= .a 81 82 TOOL_GXX3PLAIN_LDFLAGS ?= 83 TOOL_GXX3PLAIN_LDFLAGS.debug ?= -g 84 TOOL_GXX3PLAIN_LDFLAGS.profile ?= -g 85 85 86 86 … … 98 98 # @param $(outbase) Output basename (full). Use this for list files and such. 99 99 # @param $(objsuff) Object suffix. 100 TOOL_G CC3PLAIN_COMPILE_C_OUTPUT =101 TOOL_G CC3PLAIN_COMPILE_C_DEPEND =102 TOOL_G CC3PLAIN_COMPILE_C_DEPORD =103 define TOOL_G CC3PLAIN_COMPILE_C_CMDS104 $(QUIET)$(TOOL_G CC3PLAIN_CC) -c\100 TOOL_GXX3PLAIN_COMPILE_C_OUTPUT = 101 TOOL_GXX3PLAIN_COMPILE_C_DEPEND = 102 TOOL_GXX3PLAIN_COMPILE_C_DEPORD = 103 define TOOL_GXX3PLAIN_COMPILE_C_CMDS 104 $(QUIET)$(TOOL_GXX3PLAIN_CC) -c\ 105 105 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 106 106 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 122 122 # @param $(outbase) Output basename (full). Use this for list files and such. 123 123 # @param $(objsuff) Object suffix. 124 TOOL_G CC3PLAIN_COMPILE_CXX_OUTPUT =125 TOOL_G CC3PLAIN_COMPILE_CXX_DEPEND =126 TOOL_G CC3PLAIN_COMPILE_CXX_DEPORD =127 define TOOL_G CC3PLAIN_COMPILE_CXX_CMDS128 $(QUIET)$(TOOL_G CC3PLAIN_CXX) -c\124 TOOL_GXX3PLAIN_COMPILE_CXX_OUTPUT = 125 TOOL_GXX3PLAIN_COMPILE_CXX_DEPEND = 126 TOOL_GXX3PLAIN_COMPILE_CXX_DEPORD = 127 define TOOL_GXX3PLAIN_COMPILE_CXX_CMDS 128 $(QUIET)$(TOOL_GXX3PLAIN_CXX) -c\ 129 129 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 130 130 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 147 147 # @param $(objsuff) Object suffix. 148 148 # 149 TOOL_G CC3PLAIN_COMPILE_AS_OUTPUT =150 TOOL_G CC3PLAIN_COMPILE_AS_DEPEND =151 TOOL_G CC3PLAIN_COMPILE_AS_DEPORD =152 define TOOL_G CC3PLAIN_COMPILE_AS_CMDS153 $(QUIET)$(TOOL_G CC3PLAIN_AS) -c\149 TOOL_GXX3PLAIN_COMPILE_AS_OUTPUT = 150 TOOL_GXX3PLAIN_COMPILE_AS_DEPEND = 151 TOOL_GXX3PLAIN_COMPILE_AS_DEPORD = 152 define TOOL_GXX3PLAIN_COMPILE_AS_CMDS 153 $(QUIET)$(TOOL_GXX3PLAIN_AS) -c\ 154 154 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 155 155 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 168 168 # @param $(othersrc) Unhandled sources. 169 169 # @param $(outbase) Output basename (full). Use this for list files and such. 170 TOOL_G CC3PLAIN_LINK_LIBRARY_OUTPUT = $(out).ar-script171 TOOL_G CC3PLAIN_LINK_LIBRARY_DEPEND = $(othersrc)172 TOOL_G CC3PLAIN_LINK_LIBRARY_DEPORD =173 define TOOL_G CC3PLAIN_LINK_LIBRARY_CMDS174 $(call xargs,$(QUIET)$(TOOL_G CC3PLAIN_AR) $(flags) $(out),$(objs))170 TOOL_GXX3PLAIN_LINK_LIBRARY_OUTPUT = $(out).ar-script 171 TOOL_GXX3PLAIN_LINK_LIBRARY_DEPEND = $(othersrc) 172 TOOL_GXX3PLAIN_LINK_LIBRARY_DEPORD = 173 define TOOL_GXX3PLAIN_LINK_LIBRARY_CMDS 174 $(call xargs,$(QUIET)$(TOOL_GXX3PLAIN_AR) $(flags) $(out),$(objs)) 175 175 $(foreach lib,$(othersrc)\ 176 176 ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ … … 178 178 $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ 179 179 $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ 180 && $(TOOL_G CC3PLAIN_AR) x $(abspath $(lib)) \181 && $(TOOL_G CC3PLAIN_AR) $(flags) $(out) *) \180 && $(TOOL_GXX3PLAIN_AR) x $(abspath $(lib)) \ 181 && $(TOOL_GXX3PLAIN_AR) $(flags) $(out) *) \ 182 182 $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ 183 183 $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) 184 $(QUIET)$(TOOL_G CC3PLAIN_RANLIB) $(out)184 $(QUIET)$(TOOL_GXX3PLAIN_RANLIB) $(out) 185 185 endef 186 186 … … 199 199 # @param $(custom_post) Custom step invoked after linking. 200 200 # @param $(outbase) Output basename (full). Use this for list files and such. 201 TOOL_G CC3PLAIN_LINK_PROGRAM_OUTPUT = $(outbase).map202 TOOL_G CC3PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\201 TOOL_GXX3PLAIN_LINK_PROGRAM_OUTPUT = $(outbase).map 202 TOOL_GXX3PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 203 203 $(filter %.def, $(othersrc)) 204 TOOL_G CC3PLAIN_LINK_PROGRAM_DEPORD =205 define TOOL_G CC3PLAIN_LINK_PROGRAM_CMDS206 $(QUIET)$(TOOL_G CC3PLAIN_LD) $(flags) -o $(out) $(objs)\204 TOOL_GXX3PLAIN_LINK_PROGRAM_DEPORD = 205 define TOOL_GXX3PLAIN_LINK_PROGRAM_CMDS 206 $(QUIET)$(TOOL_GXX3PLAIN_LD) $(flags) -o $(out) $(objs)\ 207 207 $(filter %.def, $(othersrc))\ 208 208 $(foreach p,$(libpath), -L$(p))\ … … 224 224 # @param $(custom_post) Custom step invoked after linking. 225 225 # @param $(outbase) Output basename (full). Use this for list files and such. 226 TOOL_G CC3PLAIN_LINK_DLL_OUTPUT = $(outbase).map227 TOOL_G CC3PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\226 TOOL_GXX3PLAIN_LINK_DLL_OUTPUT = $(outbase).map 227 TOOL_GXX3PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 228 228 $(filter %.def, $(othersrc)) 229 TOOL_G CC3PLAIN_LINK_DLL_DEPORD =230 define TOOL_G CC3PLAIN_LINK_DLL_CMDS231 $(QUIET)$(TOOL_G CC3PLAIN_LD) $(TOOL_GCC3PLAIN_LDFLAGS.dll) $(flags) -o $(out)\232 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_G CC3PLAIN_LD_SONAME,$(target),$(out)))\229 TOOL_GXX3PLAIN_LINK_DLL_DEPORD = 230 define TOOL_GXX3PLAIN_LINK_DLL_CMDS 231 $(QUIET)$(TOOL_GXX3PLAIN_LD) $(TOOL_GXX3PLAIN_LDFLAGS.dll) $(flags) -o $(out)\ 232 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GXX3PLAIN_LD_SONAME,$(target),$(out)))\ 233 233 $(objs)\ 234 234 $(filter %.def, $(othersrc))\
Note:
See TracChangeset
for help on using the changeset viewer.