Changeset 971 for trunk/kBuild/tools/GXX.kmk
- Timestamp:
- May 27, 2007, 6:45:22 PM (18 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/GXX.kmk
r965 r971 2 2 ## @file 3 3 # 4 # kBuild Tool Config - Generic GCC Using The System GCC.4 # kBuild Tool Config - Generic GCC 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 CC := Generic GCC Using The System GCC.27 TOOL_GXX := Generic GCC using the system GCC, for building C++ code. 28 28 29 29 # Tool Specific Properties 30 TOOL_G CC_CC ?= gcc$(HOSTSUFF_EXE)31 TOOL_G CC_CXX ?= g++$(HOSTSUFF_EXE)32 TOOL_G CC_AS ?= gcc$(HOSTSUFF_EXE)33 TOOL_G CC_AR ?= ar$(HOSTSUFF_EXE)34 TOOL_G CC_RANLIB ?= ranlib$(HOSTSUFF_EXE)35 TOOL_G CC_LD ?= g++$(HOSTSUFF_EXE)36 TOOL_G CC_LDFLAGS.dll.os2 ?= -Zdll37 TOOL_G CC_LDFLAGS.dll.darwin ?= -dynamiclib38 ifndef TOOL_G CC_LDFLAGS.$(BUILD_TARGET)39 TOOL_G CC_LDFLAGS.dll ?= -shared30 TOOL_GXX_CC ?= gcc$(HOSTSUFF_EXE) 31 TOOL_GXX_CXX ?= g++$(HOSTSUFF_EXE) 32 TOOL_GXX_AS ?= gcc$(HOSTSUFF_EXE) 33 TOOL_GXX_AR ?= ar$(HOSTSUFF_EXE) 34 TOOL_GXX_RANLIB ?= ranlib$(HOSTSUFF_EXE) 35 TOOL_GXX_LD ?= g++$(HOSTSUFF_EXE) 36 TOOL_GXX_LDFLAGS.dll.os2 ?= -Zdll 37 TOOL_GXX_LDFLAGS.dll.darwin ?= -dynamiclib 38 ifndef TOOL_GXX_LDFLAGS.$(BUILD_TARGET) 39 TOOL_GXX_LDFLAGS.dll ?= -shared 40 40 else 41 TOOL_G CC_LDFLAGS.dll ?= $(TOOL_GCC_LDFLAGS.$(BUILD_TARGET))41 TOOL_GXX_LDFLAGS.dll ?= $(TOOL_GXX_LDFLAGS.$(BUILD_TARGET)) 42 42 endif 43 43 44 44 # General Properties used by kBuild 45 TOOL_G CC_COBJSUFF ?= .o46 TOOL_G CC_CFLAGS ?=47 TOOL_G CC_CFLAGS.debug ?= -g48 TOOL_G CC_CFLAGS.profile ?= -g -O2 #-pg49 TOOL_G CC_CFLAGS.release ?= -O250 TOOL_G CC_CINCS ?=51 TOOL_G CC_CDEFS ?=52 53 TOOL_G CC_CXXOBJSUFF ?= .o54 TOOL_G CC_CXXOBJSUFF ?= .o55 TOOL_G CC_CXXFLAGS ?=56 TOOL_G CC_CXXFLAGS.debug ?= -g -O057 TOOL_G CC_CXXFLAGS.profile ?= -g -O2 #-pg58 TOOL_G CC_CXXFLAGS.release ?= -O259 TOOL_G CC_CXXINCS ?=60 TOOL_G CC_CXXDEFS ?=61 62 TOOL_G CC_ASFLAGS ?= -x assembler-with-cpp63 TOOL_G CC_ASFLAGS.debug ?= -g64 TOOL_G CC_ASFLAGS.profile ?= -g65 TOOL_G CC_ASOBJSUFF ?= .o66 67 TOOL_G CC_ARFLAGS ?= cr68 TOOL_G CC_ARLIBSUFF ?= .a69 70 TOOL_G CC_LDFLAGS ?=71 TOOL_G CC_LDFLAGS.debug ?= -g72 TOOL_G CC_LDFLAGS.profile ?= -g45 TOOL_GXX_COBJSUFF ?= .o 46 TOOL_GXX_CFLAGS ?= 47 TOOL_GXX_CFLAGS.debug ?= -g 48 TOOL_GXX_CFLAGS.profile ?= -g -O2 #-pg 49 TOOL_GXX_CFLAGS.release ?= -O2 50 TOOL_GXX_CINCS ?= 51 TOOL_GXX_CDEFS ?= 52 53 TOOL_GXX_CXXOBJSUFF ?= .o 54 TOOL_GXX_CXXOBJSUFF ?= .o 55 TOOL_GXX_CXXFLAGS ?= 56 TOOL_GXX_CXXFLAGS.debug ?= -g -O0 57 TOOL_GXX_CXXFLAGS.profile ?= -g -O2 #-pg 58 TOOL_GXX_CXXFLAGS.release ?= -O2 59 TOOL_GXX_CXXINCS ?= 60 TOOL_GXX_CXXDEFS ?= 61 62 TOOL_GXX_ASFLAGS ?= -x assembler-with-cpp 63 TOOL_GXX_ASFLAGS.debug ?= -g 64 TOOL_GXX_ASFLAGS.profile ?= -g 65 TOOL_GXX_ASOBJSUFF ?= .o 66 67 TOOL_GXX_ARFLAGS ?= cr 68 TOOL_GXX_ARLIBSUFF ?= .a 69 70 TOOL_GXX_LDFLAGS ?= 71 TOOL_GXX_LDFLAGS.debug ?= -g 72 TOOL_GXX_LDFLAGS.profile ?= -g 73 73 74 74 … … 86 86 # @param $(objsuff) Object suffix. 87 87 # 88 TOOL_G CC_COMPILE_C_OUTPUT =89 TOOL_G CC_COMPILE_C_DEPEND =90 TOOL_G CC_COMPILE_C_DEPORD =91 define TOOL_G CC_COMPILE_C_CMDS92 $(QUIET)$(TOOL_G CC_CC) -c\88 TOOL_GXX_COMPILE_C_OUTPUT = 89 TOOL_GXX_COMPILE_C_DEPEND = 90 TOOL_GXX_COMPILE_C_DEPORD = 91 define TOOL_GXX_COMPILE_C_CMDS 92 $(QUIET)$(TOOL_GXX_CC) -c\ 93 93 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 94 94 -Wp,-MD,$(dep) -Wp,-MT,$(obj) \ … … 111 111 # @param $(outbase) Output basename (full). Use this for list files and such. 112 112 # @param $(objsuff) Object suffix. 113 TOOL_G CC_COMPILE_CXX_OUTPUT =114 TOOL_G CC_COMPILE_CXX_DEPEND =115 TOOL_G CC_COMPILE_CXX_DEPORD =116 define TOOL_G CC_COMPILE_CXX_CMDS117 $(QUIET)$(TOOL_G CC_CXX) -c\113 TOOL_GXX_COMPILE_CXX_OUTPUT = 114 TOOL_GXX_COMPILE_CXX_DEPEND = 115 TOOL_GXX_COMPILE_CXX_DEPORD = 116 define TOOL_GXX_COMPILE_CXX_CMDS 117 $(QUIET)$(TOOL_GXX_CXX) -c\ 118 118 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 119 119 -Wp,-MD,$(dep) -Wp,-MT,$(obj) \ … … 136 136 # @param $(objsuff) Object suffix. 137 137 # 138 TOOL_G CC_COMPILE_AS_OUTPUT =139 TOOL_G CC_COMPILE_AS_DEPEND =140 TOOL_G CC_COMPILE_AS_DEPORD =141 define TOOL_G CC_COMPILE_AS_CMDS142 $(QUIET)$(TOOL_G CC_AS) -c\138 TOOL_GXX_COMPILE_AS_OUTPUT = 139 TOOL_GXX_COMPILE_AS_DEPEND = 140 TOOL_GXX_COMPILE_AS_DEPORD = 141 define TOOL_GXX_COMPILE_AS_CMDS 142 $(QUIET)$(TOOL_GXX_AS) -c\ 143 143 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 144 144 -Wp,-MD,$(dep) -Wp,-MT,$(obj) \ … … 157 157 # 158 158 # @param $(outbase) Output basename (full). Use this for list files and such. 159 TOOL_G CC_LINK_LIBRARY_OUTPUT =160 TOOL_G CC_LINK_LIBRARY_DEPEND =161 TOOL_G CC_LINK_LIBRARY_DEPORD =162 define TOOL_G CC_LINK_LIBRARY_CMDS163 $(QUIET)$(TOOL_G CC_AR) $(flags) $(out) $(objs)164 $(call xargs,$(QUIET)$(TOOL_G CC_AR) $(flags) $(out),$(objs))159 TOOL_GXX_LINK_LIBRARY_OUTPUT = 160 TOOL_GXX_LINK_LIBRARY_DEPEND = 161 TOOL_GXX_LINK_LIBRARY_DEPORD = 162 define TOOL_GXX_LINK_LIBRARY_CMDS 163 $(QUIET)$(TOOL_GXX_AR) $(flags) $(out) $(objs) 164 $(call xargs,$(QUIET)$(TOOL_GXX_AR) $(flags) $(out),$(objs)) 165 165 $(foreach lib,$(othersrc)\ 166 166 ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ … … 168 168 $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ 169 169 $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ 170 && $(TOOL_G CC_AR) x $(abspath $(lib)) \171 && $(TOOL_G CC_AR) $(flags) $(out) *) \170 && $(TOOL_GXX_AR) x $(abspath $(lib)) \ 171 && $(TOOL_GXX_AR) $(flags) $(out) *) \ 172 172 $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ 173 173 $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) 174 $(QUIET)$(TOOL_G CC_RANLIB) $(out)174 $(QUIET)$(TOOL_GXX_RANLIB) $(out) 175 175 endef 176 176 … … 190 190 # 191 191 # @param $(outbase) Output basename (full). Use this for list files and such. 192 TOOL_G CC_LINK_PROGRAM_OUTPUT =193 TOOL_G CC_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))194 TOOL_G CC_LINK_PROGRAM_DEPORD =195 define TOOL_G CC_LINK_PROGRAM_CMDS196 $(QUIET)$(TOOL_G CC_LD) $(flags) -o $(out) $(objs) \192 TOOL_GXX_LINK_PROGRAM_OUTPUT = 193 TOOL_GXX_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 194 TOOL_GXX_LINK_PROGRAM_DEPORD = 195 define TOOL_GXX_LINK_PROGRAM_CMDS 196 $(QUIET)$(TOOL_GXX_LD) $(flags) -o $(out) $(objs) \ 197 197 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) 198 198 endef … … 212 212 # @param $(custom_post) Custom step invoked after linking. 213 213 # @param $(outbase) Output basename (full). Use this for list files and such. 214 TOOL_G CC_LINK_DLL_OUTPUT =215 TOOL_G CC_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))216 TOOL_G CC_LINK_DLL_DEPORD =217 define TOOL_G CC_LINK_DLL_CMDS218 $(QUIET)$(TOOL_G CC_LD) $(TOOL_GCC_LDFLAGS.dll) $(flags) -o $(out) $(objs) \214 TOOL_GXX_LINK_DLL_OUTPUT = 215 TOOL_GXX_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 216 TOOL_GXX_LINK_DLL_DEPORD = 217 define TOOL_GXX_LINK_DLL_CMDS 218 $(QUIET)$(TOOL_GXX_LD) $(TOOL_GXX_LDFLAGS.dll) $(flags) -o $(out) $(objs) \ 219 219 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) 220 220 endef
Note:
See TracChangeset
for help on using the changeset viewer.