Changeset 971 for trunk/kBuild/tools
- Timestamp:
- May 27, 2007, 6:45:22 PM (18 years ago)
- Location:
- trunk/kBuild/tools
- Files:
-
- 6 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 -
trunk/kBuild/tools/GXX3.kmk
r965 r971 2 2 ## @file 3 3 # 4 # kBuild Tool Config - Generic GCC v3.2.x or later Using The System GCC and Binutils.4 # kBuild Tool Config - Generic GCC v3.2.x using the system GCC and Binutils, 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 CC3 := Generic GCC v3.2.x or later Using The System GCC and Binutils.27 TOOL_GXX3 := Generic GCC v3.2.x or later using the system GCC and Binutils, for building C++ code. 28 28 29 29 # Tool Specific Properties 30 TOOL_G CC3_CC ?= gcc$(HOSTSUFF_EXE)31 TOOL_G CC3_CXX ?= g++$(HOSTSUFF_EXE)32 TOOL_G CC3_AS ?= gcc$(HOSTSUFF_EXE)33 ifeq ($(BUILD_TARGET),solaris) ## @todo drop the MRI script!34 TOOL_G CC3_AR ?= gar$(HOSTSUFF_EXE)35 else 36 TOOL_G CC3_AR ?= ar$(HOSTSUFF_EXE)30 TOOL_GXX3_CC ?= gcc$(HOSTSUFF_EXE) 31 TOOL_GXX3_CXX ?= g++$(HOSTSUFF_EXE) 32 TOOL_GXX3_AS ?= gcc$(HOSTSUFF_EXE) 33 ifeq ($(BUILD_TARGET),solaris) 34 TOOL_GXX3_AR ?= gar$(HOSTSUFF_EXE) 35 else 36 TOOL_GXX3_AR ?= ar$(HOSTSUFF_EXE) 37 37 endif 38 38 ifeq ($(BUILD_TARGET),os2) 39 TOOL_G CC3_AR_IMP ?= emximp$(HOSTSTUFF_EXE)40 else 41 TOOL_G CC3_AR_IMP ?= $(ECHO) not supported!42 endif 43 TOOL_G CC3_LD ?= g++$(HOSTSUFF_EXE)44 TOOL_G CC3_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)45 ifndef TOOL_G CC3_LDFLAGS.$(BUILD_TARGET)46 TOOL_G CC3_LDFLAGS.dll ?= -shared47 else 48 TOOL_G CC3_LDFLAGS.dll ?= $(TOOL_GCC3_LDFLAGS.$(BUILD_TARGET))49 endif 50 TOOL_G CC3_LDFLAGS.sysmod ?= -r51 TOOL_G CC3_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))39 TOOL_GXX3_AR_IMP ?= emximp$(HOSTSTUFF_EXE) 40 else 41 TOOL_GXX3_AR_IMP ?= $(ECHO) not supported! 42 endif 43 TOOL_GXX3_LD ?= g++$(HOSTSUFF_EXE) 44 TOOL_GXX3_LD_SYSMOD ?= ld$(HOSTSUFF_EXE) 45 ifndef TOOL_GXX3_LDFLAGS.$(BUILD_TARGET) 46 TOOL_GXX3_LDFLAGS.dll ?= -shared 47 else 48 TOOL_GXX3_LDFLAGS.dll ?= $(TOOL_GXX3_LDFLAGS.$(BUILD_TARGET)) 49 endif 50 TOOL_GXX3_LDFLAGS.sysmod ?= -r 51 TOOL_GXX3_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) 52 52 ifeq ($(BUILD_TARGET),os2) 53 TOOL_G CC3_LD_MAP ?= -Zmap=$(1)54 TOOL_G CC3_LD_SYSMOD_MAP ?= -Zmap=$(1)53 TOOL_GXX3_LD_MAP ?= -Zmap=$(1) 54 TOOL_GXX3_LD_SYSMOD_MAP ?= -Zmap=$(1) 55 55 endif 56 56 ifdef SLKRUNS 57 TOOL_G CC3_CC += -fmessage-length=058 TOOL_G CC3_CXX += -fmessage-length=057 TOOL_GXX3_CC += -fmessage-length=0 58 TOOL_GXX3_CXX += -fmessage-length=0 59 59 endif 60 60 61 61 # General Properties used by kBuild 62 TOOL_G CC3_COBJSUFF ?= .o63 TOOL_G CC3_CFLAGS ?=64 TOOL_G CC3_CFLAGS.debug ?= -g65 TOOL_G CC3_CFLAGS.profile ?= -g -O2 #-pg66 TOOL_G CC3_CFLAGS.release ?= -O267 TOOL_G CC3_CINCS ?=68 TOOL_G CC3_CDEFS ?=69 70 TOOL_G CC3_CXXOBJSUFF ?= .o71 TOOL_G CC3_CXXOBJSUFF ?= .o72 TOOL_G CC3_CXXFLAGS ?=73 TOOL_G CC3_CXXFLAGS.debug ?= -g74 TOOL_G CC3_CXXFLAGS.profile ?= -g -O2 #-pg75 TOOL_G CC3_CXXFLAGS.release ?= -O276 TOOL_G CC3_CXXINCS ?=77 TOOL_G CC3_CXXDEFS ?=78 79 TOOL_G CC3_ASFLAGS ?= -x assembler-with-cpp80 TOOL_G CC3_ASFLAGS.debug ?= -g81 TOOL_G CC3_ASFLAGS.profile ?= -g82 TOOL_G CC3_ASOBJSUFF ?= .o83 84 TOOL_G CC3_ARFLAGS ?= cr85 TOOL_G CC3_ARLIBSUFF ?= .a86 87 TOOL_G CC3_LDFLAGS ?=88 TOOL_G CC3_LDFLAGS.debug ?= -g89 TOOL_G CC3_LDFLAGS.profile ?= -g62 TOOL_GXX3_COBJSUFF ?= .o 63 TOOL_GXX3_CFLAGS ?= 64 TOOL_GXX3_CFLAGS.debug ?= -g 65 TOOL_GXX3_CFLAGS.profile ?= -g -O2 #-pg 66 TOOL_GXX3_CFLAGS.release ?= -O2 67 TOOL_GXX3_CINCS ?= 68 TOOL_GXX3_CDEFS ?= 69 70 TOOL_GXX3_CXXOBJSUFF ?= .o 71 TOOL_GXX3_CXXOBJSUFF ?= .o 72 TOOL_GXX3_CXXFLAGS ?= 73 TOOL_GXX3_CXXFLAGS.debug ?= -g 74 TOOL_GXX3_CXXFLAGS.profile ?= -g -O2 #-pg 75 TOOL_GXX3_CXXFLAGS.release ?= -O2 76 TOOL_GXX3_CXXINCS ?= 77 TOOL_GXX3_CXXDEFS ?= 78 79 TOOL_GXX3_ASFLAGS ?= -x assembler-with-cpp 80 TOOL_GXX3_ASFLAGS.debug ?= -g 81 TOOL_GXX3_ASFLAGS.profile ?= -g 82 TOOL_GXX3_ASOBJSUFF ?= .o 83 84 TOOL_GXX3_ARFLAGS ?= cr 85 TOOL_GXX3_ARLIBSUFF ?= .a 86 87 TOOL_GXX3_LDFLAGS ?= 88 TOOL_GXX3_LDFLAGS.debug ?= -g 89 TOOL_GXX3_LDFLAGS.profile ?= -g 90 90 91 91 … … 103 103 # @param $(outbase) Output basename (full). Use this for list files and such. 104 104 # @param $(objsuff) Object suffix. 105 TOOL_G CC3_COMPILE_C_OUTPUT =106 TOOL_G CC3_COMPILE_C_DEPEND =107 TOOL_G CC3_COMPILE_C_DEPORD =108 define TOOL_G CC3_COMPILE_C_CMDS109 $(QUIET)$(TOOL_G CC3_CC) -c\105 TOOL_GXX3_COMPILE_C_OUTPUT = 106 TOOL_GXX3_COMPILE_C_DEPEND = 107 TOOL_GXX3_COMPILE_C_DEPORD = 108 define TOOL_GXX3_COMPILE_C_CMDS 109 $(QUIET)$(TOOL_GXX3_CC) -c\ 110 110 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 111 111 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 127 127 # @param $(outbase) Output basename (full). Use this for list files and such. 128 128 # @param $(objsuff) Object suffix. 129 TOOL_G CC3_COMPILE_CXX_OUTPUT =130 TOOL_G CC3_COMPILE_CXX_DEPEND =131 TOOL_G CC3_COMPILE_CXX_DEPORD =132 define TOOL_G CC3_COMPILE_CXX_CMDS133 $(QUIET)$(TOOL_G CC3_CXX) -c\129 TOOL_GXX3_COMPILE_CXX_OUTPUT = 130 TOOL_GXX3_COMPILE_CXX_DEPEND = 131 TOOL_GXX3_COMPILE_CXX_DEPORD = 132 define TOOL_GXX3_COMPILE_CXX_CMDS 133 $(QUIET)$(TOOL_GXX3_CXX) -c\ 134 134 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 135 135 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 152 152 # @param $(objsuff) Object suffix. 153 153 # 154 TOOL_G CC3_COMPILE_AS_OUTPUT =155 TOOL_G CC3_COMPILE_AS_DEPEND =156 TOOL_G CC3_COMPILE_AS_DEPORD =157 define TOOL_G CC3_COMPILE_AS_CMDS158 $(QUIET)$(TOOL_G CC3_AS) -c\154 TOOL_GXX3_COMPILE_AS_OUTPUT = 155 TOOL_GXX3_COMPILE_AS_DEPEND = 156 TOOL_GXX3_COMPILE_AS_DEPORD = 157 define TOOL_GXX3_COMPILE_AS_CMDS 158 $(QUIET)$(TOOL_GXX3_AS) -c\ 159 159 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 160 160 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 173 173 # @param $(othersrc) Unhandled sources. 174 174 # @param $(outbase) Output basename (full). Use this for list files and such. 175 TOOL_G CC3_LINK_LIBRARY_OUTPUT = $(out).ar-script $(outbase).imp.a176 TOOL_G CC3_LINK_LIBRARY_DEPEND = $(othersrc)177 TOOL_G CC3_LINK_LIBRARY_DEPORD =175 TOOL_GXX3_LINK_LIBRARY_OUTPUT = $(out).ar-script $(outbase).imp.a 176 TOOL_GXX3_LINK_LIBRARY_DEPEND = $(othersrc) 177 TOOL_GXX3_LINK_LIBRARY_DEPORD = 178 178 ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n) 179 define TOOL_G CC3_LINK_LIBRARY_CMDS179 define TOOL_GXX3_LINK_LIBRARY_CMDS 180 180 $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)' 181 181 $(QUIET)$(APPEND) -n $(out).ar-script \ … … 183 183 $(foreach o,$(filter-out %.def %.imp,$(othersrc)), 'ADDLIB $(o)') 184 184 $(if $(filter %.def %.imp,$(othersrc))\ 185 ,$(TOOL_G CC3_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\185 ,$(TOOL_GXX3_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\ 186 186 $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script 'ADDLIB $(outbase).imp.a') 187 187 $(QUIET)$(APPEND) $(out).ar-script 'SAVE' 188 188 $(QUIET)$(APPEND) $(out).ar-script 'END' 189 $(QUIET)$(TOOL_G CC3_AR) -M < $(out).ar-script190 endef 191 else 192 define TOOL_G CC3_LINK_LIBRARY_CMDS189 $(QUIET)$(TOOL_GXX3_AR) -M < $(out).ar-script 190 endef 191 else 192 define TOOL_GXX3_LINK_LIBRARY_CMDS 193 193 $(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)" 194 194 $(foreach o, $(objs)\ … … 197 197 ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)") 198 198 $(if $(filter %.def %.imp,$(othersrc))\ 199 ,$(TOOL_G CC3_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\199 ,$(TOOL_GXX3_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\ 200 200 $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(outbase).imp.a") 201 201 $(QUIET)$(APPEND) $(out).ar-script "SAVE" 202 202 $(QUIET)$(APPEND) $(out).ar-script "END" 203 $(QUIET)$(TOOL_G CC3_AR) -M < $(out).ar-script203 $(QUIET)$(TOOL_GXX3_AR) -M < $(out).ar-script 204 204 endef 205 205 endif … … 219 219 # @param $(custom_post) Custom step invoked after linking. 220 220 # @param $(outbase) Output basename (full). Use this for list files and such. 221 TOOL_G CC3_LINK_PROGRAM_OUTPUT = $(outbase).map222 TOOL_G CC3_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\221 TOOL_GXX3_LINK_PROGRAM_OUTPUT = $(outbase).map 222 TOOL_GXX3_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 223 223 $(filter %.def, $(othersrc)) 224 TOOL_G CC3_LINK_PROGRAM_DEPORD =225 define TOOL_G CC3_LINK_PROGRAM_CMDS226 $(QUIET)$(TOOL_G CC3_LD) $(flags) -o $(out) $(objs)\224 TOOL_GXX3_LINK_PROGRAM_DEPORD = 225 define TOOL_GXX3_LINK_PROGRAM_CMDS 226 $(QUIET)$(TOOL_GXX3_LD) $(flags) -o $(out) $(objs)\ 227 227 $(filter %.def, $(othersrc))\ 228 228 $(foreach p,$(libpath), -L$(p))\ 229 229 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 230 $(call TOOL_G CC3_LD_MAP,$(outbase).map)230 $(call TOOL_GXX3_LD_MAP,$(outbase).map) 231 231 endef 232 232 … … 245 245 # @param $(custom_post) Custom step invoked after linking. 246 246 # @param $(outbase) Output basename (full). Use this for list files and such. 247 TOOL_G CC3_LINK_DLL_OUTPUT = $(outbase).map248 TOOL_G CC3_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\247 TOOL_GXX3_LINK_DLL_OUTPUT = $(outbase).map 248 TOOL_GXX3_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 249 249 $(filter %.def, $(othersrc)) 250 TOOL_G CC3_LINK_DLL_DEPORD =251 define TOOL_G CC3_LINK_DLL_CMDS252 $(QUIET)$(TOOL_G CC3_LD) $(TOOL_GCC3_LDFLAGS.dll) $(flags) -o $(out)\253 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_G CC3_LD_SONAME,$(target),$(out)))\250 TOOL_GXX3_LINK_DLL_DEPORD = 251 define TOOL_GXX3_LINK_DLL_CMDS 252 $(QUIET)$(TOOL_GXX3_LD) $(TOOL_GXX3_LDFLAGS.dll) $(flags) -o $(out)\ 253 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GXX3_LD_SONAME,$(target),$(out)))\ 254 254 $(objs)\ 255 255 $(filter %.def, $(othersrc))\ 256 256 $(foreach p,$(libpath), -L$(p))\ 257 257 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 258 $(call TOOL_G CC3_LD_MAP,$(outbase).map)258 $(call TOOL_GXX3_LD_MAP,$(outbase).map) 259 259 endef 260 260 … … 273 273 # @param $(custom_post) Custom step invoked after linking. 274 274 # @param $(outbase) Output basename (full). Use this for list files and such. 275 TOOL_G CC3_LINK_SYSMOD_OUTPUT = $(outbase).map276 TOOL_G CC3_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\275 TOOL_GXX3_LINK_SYSMOD_OUTPUT = $(outbase).map 276 TOOL_GXX3_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\ 277 277 $(filter %.def, $(othersrc)) 278 TOOL_G CC3_LINK_SYSMOD_DEPORD =279 define TOOL_G CC3_LINK_SYSMOD_CMDS280 $(QUIET)$(TOOL_G CC3_LD_SYSMOD) $(TOOL_GCC3_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\278 TOOL_GXX3_LINK_SYSMOD_DEPORD = 279 define TOOL_GXX3_LINK_SYSMOD_CMDS 280 $(QUIET)$(TOOL_GXX3_LD_SYSMOD) $(TOOL_GXX3_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ 281 281 $(filter %.def, $(othersrc))\ 282 282 $(foreach p,$(libpath), -L$(p))\ 283 283 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 284 $(call TOOL_G CC3_LD_SYSMOD_MAP,$(outbase).map)285 endef 286 284 $(call TOOL_GXX3_LD_SYSMOD_MAP,$(outbase).map) 285 endef 286 -
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 -
trunk/kBuild/tools/GXX3OMF.kmk
r965 r971 2 2 ## @file 3 3 # 4 # kBuild Tool Config - GCC v3 targeting OS/2 OMF .4 # kBuild Tool Config - GCC v3 targeting OS/2 OMF, 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 CC3OMF := GCC v3 targeting OS/2 OMF.27 TOOL_GXX3OMF := GCC v3 targeting OS/2 OMF, for building C++ code. 28 28 29 29 # Tool Specific Properties 30 TOOL_G CC3OMF_CC ?= gcc$(HOSTSUFF_EXE)31 TOOL_G CC3OMF_CXX ?= g++$(HOSTSUFF_EXE)32 TOOL_G CC3OMF_AS ?= gcc$(HOSTSUFF_EXE)33 TOOL_G CC3OMF_AR ?= emxomfar$(HOSTSUFF_EXE)34 TOOL_G CC3OMF_AR_IMP ?= emximp$(HOSTSUFF_EXE)35 TOOL_G CC3OMF_LD ?= g++$(HOSTSUFF_EXE)36 TOOL_G CC3OMF_LD_SYSMOD ?= g++$(HOSTSUFF_EXE)37 ifndef TOOL_G CC3OMF_LDFLAGS.$(BUILD_TARGET)38 TOOL_G CC3OMF_LDFLAGS.dll ?= -shared -Zdll30 TOOL_GXX3OMF_CC ?= gcc$(HOSTSUFF_EXE) 31 TOOL_GXX3OMF_CXX ?= g++$(HOSTSUFF_EXE) 32 TOOL_GXX3OMF_AS ?= gcc$(HOSTSUFF_EXE) 33 TOOL_GXX3OMF_AR ?= emxomfar$(HOSTSUFF_EXE) 34 TOOL_GXX3OMF_AR_IMP ?= emximp$(HOSTSUFF_EXE) 35 TOOL_GXX3OMF_LD ?= g++$(HOSTSUFF_EXE) 36 TOOL_GXX3OMF_LD_SYSMOD ?= g++$(HOSTSUFF_EXE) 37 ifndef TOOL_GXX3OMF_LDFLAGS.$(BUILD_TARGET) 38 TOOL_GXX3OMF_LDFLAGS.dll ?= -shared -Zdll 39 39 else 40 TOOL_G CC3OMF_LDFLAGS.dll ?= $(TOOL_GCC3OMF_LDFLAGS.$(BUILD_TARGET))40 TOOL_GXX3OMF_LDFLAGS.dll ?= $(TOOL_GXX3OMF_LDFLAGS.$(BUILD_TARGET)) 41 41 endif 42 TOOL_G CC3OMF_LDFLAGS.sysmod ?= -nostdlib43 TOOL_G CC3OMF_LD_MAP ?= -Zmap=$(1)44 TOOL_G CC3OMF_LD_SYSMOD_MAP ?= -Zmap=$(1)42 TOOL_GXX3OMF_LDFLAGS.sysmod ?= -nostdlib 43 TOOL_GXX3OMF_LD_MAP ?= -Zmap=$(1) 44 TOOL_GXX3OMF_LD_SYSMOD_MAP ?= -Zmap=$(1) 45 45 46 46 ifdef SLKRUNS 47 TOOL_G CC3OMF_CC += -fmessage-length=048 TOOL_G CC3OMF_CXX += -fmessage-length=047 TOOL_GXX3OMF_CC += -fmessage-length=0 48 TOOL_GXX3OMF_CXX += -fmessage-length=0 49 49 endif 50 50 51 51 # General Properties used by kBuild 52 TOOL_G CC3OMF_COBJSUFF ?= .o53 TOOL_G CC3OMF_CFLAGS ?= -Zomf54 TOOL_G CC3OMF_CFLAGS.debug ?= -g55 TOOL_G CC3OMF_CFLAGS.profile ?= -g -O2 #-pg56 TOOL_G CC3OMF_CFLAGS.release ?= -O257 TOOL_G CC3OMF_CINCS ?=58 TOOL_G CC3OMF_CDEFS ?=59 60 TOOL_G CC3OMF_CXXOBJSUFF ?= .o61 TOOL_G CC3OMF_CXXOBJSUFF ?= .o62 TOOL_G CC3OMF_CXXFLAGS ?= -Zomf63 TOOL_G CC3OMF_CXXFLAGS.debug ?= -g64 TOOL_G CC3OMF_CXXFLAGS.profile ?= -g -O2 #-pg65 TOOL_G CC3OMF_CXXFLAGS.release ?= -O266 TOOL_G CC3OMF_CXXINCS ?=67 TOOL_G CC3OMF_CXXDEFS ?=68 69 TOOL_G CC3OMF_ASFLAGS ?= -x assembler-with-cpp70 TOOL_G CC3OMF_ASFLAGS.debug ?= -g71 TOOL_G CC3OMF_ASFLAGS.profile ?= -g72 TOOL_G CC3OMF_ASOBJSUFF ?= .obj73 74 TOOL_G CC3OMF_ARFLAGS ?= cr75 TOOL_G CC3OMF_ARLIBSUFF ?= .lib76 77 TOOL_G CC3OMF_LDFLAGS ?= -Zomf78 TOOL_G CC3OMF_LDFLAGS.debug ?= -g79 TOOL_G CC3OMF_LDFLAGS.profile ?= -g52 TOOL_GXX3OMF_COBJSUFF ?= .o 53 TOOL_GXX3OMF_CFLAGS ?= -Zomf 54 TOOL_GXX3OMF_CFLAGS.debug ?= -g 55 TOOL_GXX3OMF_CFLAGS.profile ?= -g -O2 #-pg 56 TOOL_GXX3OMF_CFLAGS.release ?= -O2 57 TOOL_GXX3OMF_CINCS ?= 58 TOOL_GXX3OMF_CDEFS ?= 59 60 TOOL_GXX3OMF_CXXOBJSUFF ?= .o 61 TOOL_GXX3OMF_CXXOBJSUFF ?= .o 62 TOOL_GXX3OMF_CXXFLAGS ?= -Zomf 63 TOOL_GXX3OMF_CXXFLAGS.debug ?= -g 64 TOOL_GXX3OMF_CXXFLAGS.profile ?= -g -O2 #-pg 65 TOOL_GXX3OMF_CXXFLAGS.release ?= -O2 66 TOOL_GXX3OMF_CXXINCS ?= 67 TOOL_GXX3OMF_CXXDEFS ?= 68 69 TOOL_GXX3OMF_ASFLAGS ?= -x assembler-with-cpp 70 TOOL_GXX3OMF_ASFLAGS.debug ?= -g 71 TOOL_GXX3OMF_ASFLAGS.profile ?= -g 72 TOOL_GXX3OMF_ASOBJSUFF ?= .obj 73 74 TOOL_GXX3OMF_ARFLAGS ?= cr 75 TOOL_GXX3OMF_ARLIBSUFF ?= .lib 76 77 TOOL_GXX3OMF_LDFLAGS ?= -Zomf 78 TOOL_GXX3OMF_LDFLAGS.debug ?= -g 79 TOOL_GXX3OMF_LDFLAGS.profile ?= -g 80 80 81 81 … … 93 93 # @param $(outbase) Output basename (full). Use this for list files and such. 94 94 # @param $(objsuff) Object suffix. 95 TOOL_G CC3OMF_COMPILE_C_OUTPUT =96 TOOL_G CC3OMF_COMPILE_C_DEPEND =97 TOOL_G CC3OMF_COMPILE_C_DEPORD =98 define TOOL_G CC3OMF_COMPILE_C_CMDS99 $(QUIET)$(TOOL_G CC3OMF_CC) -c\95 TOOL_GXX3OMF_COMPILE_C_OUTPUT = 96 TOOL_GXX3OMF_COMPILE_C_DEPEND = 97 TOOL_GXX3OMF_COMPILE_C_DEPORD = 98 define TOOL_GXX3OMF_COMPILE_C_CMDS 99 $(QUIET)$(TOOL_GXX3OMF_CC) -c\ 100 100 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 101 101 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \ … … 118 118 # @param $(outbase) Output basename (full). Use this for list files and such. 119 119 # @param $(objsuff) Object suffix. 120 TOOL_G CC3OMF_COMPILE_CXX_OUTPUT =121 TOOL_G CC3OMF_COMPILE_CXX_DEPEND =122 TOOL_G CC3OMF_COMPILE_CXX_DEPORD =123 define TOOL_G CC3OMF_COMPILE_CXX_CMDS124 $(QUIET)$(TOOL_G CC3OMF_CXX) -c\120 TOOL_GXX3OMF_COMPILE_CXX_OUTPUT = 121 TOOL_GXX3OMF_COMPILE_CXX_DEPEND = 122 TOOL_GXX3OMF_COMPILE_CXX_DEPORD = 123 define TOOL_GXX3OMF_COMPILE_CXX_CMDS 124 $(QUIET)$(TOOL_GXX3OMF_CXX) -c\ 125 125 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 126 126 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \ … … 143 143 # @param $(objsuff) Object suffix. 144 144 # 145 TOOL_G CC3OMF_COMPILE_AS_OUTPUT =146 TOOL_G CC3OMF_COMPILE_AS_DEPEND =147 TOOL_G CC3OMF_COMPILE_AS_DEPORD =148 define TOOL_G CC3OMF_COMPILE_AS_CMDS149 $(QUIET)$(TOOL_G CC3OMF_AS) -c\145 TOOL_GXX3OMF_COMPILE_AS_OUTPUT = 146 TOOL_GXX3OMF_COMPILE_AS_DEPEND = 147 TOOL_GXX3OMF_COMPILE_AS_DEPORD = 148 define TOOL_GXX3OMF_COMPILE_AS_CMDS 149 $(QUIET)$(TOOL_GXX3OMF_AS) -c\ 150 150 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 151 151 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 165 165 # 166 166 # @param $(outbase) Output basename (full). Use this for list files and such. 167 TOOL_G CC3OMF_LINK_LIBRARY_OUTPUT = $(outbase).rsp168 TOOL_G CC3OMF_LINK_LIBRARY_DEPEND = $(othersrc)169 TOOL_G CC3OMF_LINK_LIBRARY_DEPORD =170 define TOOL_G CC3OMF_LINK_LIBRARY_CMDS167 TOOL_GXX3OMF_LINK_LIBRARY_OUTPUT = $(outbase).rsp 168 TOOL_GXX3OMF_LINK_LIBRARY_DEPEND = $(othersrc) 169 TOOL_GXX3OMF_LINK_LIBRARY_DEPORD = 170 define TOOL_GXX3OMF_LINK_LIBRARY_CMDS 171 171 $(if $(filter %.def %.imp,$(othersrc))\ 172 172 ,$(QUIET)$(APPEND) -n $(outbase).rsp $(filter %.def %.imp,$(othersrc))\ 173 $(NL)$(TAB)$(QUIET)$(QUIET)$(TOOL_G CC3OMF_AR_IMP) -o $(out) @$(outbase).rsp\173 $(NL)$(TAB)$(QUIET)$(QUIET)$(TOOL_GXX3OMF_AR_IMP) -o $(out) @$(outbase).rsp\ 174 174 $(NL)$(TAB)$(QUIET)$(RM) -f $(outbase).rsp) 175 175 $(QUIET)$(APPEND) -n $(outbase).rsp $(flags) $(out) $(objs) $(filter-out %.def %.imp,$(othersrc)) 176 $(TOOL_G CC3OMF_AR) @$(outbase).rsp176 $(TOOL_GXX3OMF_AR) @$(outbase).rsp 177 177 endef 178 178 … … 192 192 # 193 193 # @param $(outbase) Output basename (full). Use this for list files and such. 194 TOOL_G CC3OMF_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp195 TOOL_G CC3OMF_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)196 TOOL_G CC3OMF_LINK_PROGRAM_DEPORD =197 define TOOL_G CC3OMF_LINK_PROGRAM_CMDS194 TOOL_GXX3OMF_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp 195 TOOL_GXX3OMF_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 196 TOOL_GXX3OMF_LINK_PROGRAM_DEPORD = 197 define TOOL_GXX3OMF_LINK_PROGRAM_CMDS 198 198 $(QUIET)$(APPEND) -n $(outbase).rsp\ 199 199 $(flags)\ … … 204 204 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 205 205 -Zmap=$(outbase).map 206 $(QUIET)$(TOOL_G CC3OMF_LD) @$(outbase).rsp206 $(QUIET)$(TOOL_GXX3OMF_LD) @$(outbase).rsp 207 207 endef 208 208 … … 222 222 # 223 223 # @param $(outbase) Output basename (full). Use this for list files and such. 224 TOOL_G CC3OMF_LINK_DLL_OUTPUT = $(outbase).map $(outbase).rsp225 TOOL_G CC3OMF_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)226 TOOL_G CC3OMF_LINK_DLL_DEPORD =227 define TOOL_G CC3OMF_LINK_DLL_CMDS224 TOOL_GXX3OMF_LINK_DLL_OUTPUT = $(outbase).map $(outbase).rsp 225 TOOL_GXX3OMF_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 226 TOOL_GXX3OMF_LINK_DLL_DEPORD = 227 define TOOL_GXX3OMF_LINK_DLL_CMDS 228 228 $(QUIET)$(APPEND) -n $(outbase).rsp\ 229 $(TOOL_G CC3OMF_LDFLAGS.dll)\229 $(TOOL_GXX3OMF_LDFLAGS.dll)\ 230 230 $(flags)\ 231 231 -o $(out)\ … … 235 235 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 236 236 -Zmap=$(outbase).map 237 $(TOOL_G CC3OMF_LD) @$(outbase).rsp237 $(TOOL_GXX3OMF_LD) @$(outbase).rsp 238 238 endef 239 239 … … 253 253 # 254 254 # @param $(outbase) Output basename (full). Use this for list files and such. 255 TOOL_G CC3OMF_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp256 TOOL_G CC3OMF_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)257 TOOL_G CC3OMF_LINK_SYSMOD_DEPORD =258 define TOOL_G CC3OMF_LINK_SYSMOD_CMDS255 TOOL_GXX3OMF_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp 256 TOOL_GXX3OMF_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 257 TOOL_GXX3OMF_LINK_SYSMOD_DEPORD = 258 define TOOL_GXX3OMF_LINK_SYSMOD_CMDS 259 259 $(QUIET)$(APPEND) -n $(outbase).rsp\ 260 $(TOOL_G CC3OMF_LDFLAGS.sysmod)\260 $(TOOL_GXX3OMF_LDFLAGS.sysmod)\ 261 261 $(flags)\ 262 262 -o $(out)\ … … 266 266 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 267 267 -Zmap=$(outbase).map 268 $(QUIET)$(TOOL_G CC3OMF_LD_SYSMOD) @$(outbase).rsp269 endef 270 268 $(QUIET)$(TOOL_GXX3OMF_LD_SYSMOD) @$(outbase).rsp 269 endef 270 -
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))\ -
trunk/kBuild/tools/GXX4MACHO.kmk
r965 r971 2 2 ## @file 3 3 # 4 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o .4 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o, 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 CC4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o.27 TOOL_GXX4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code. 28 28 29 29 # Tool Specific Properties 30 TOOL_G CC4MACHO_CC ?= gcc$(HOSTSUFF_EXE)31 TOOL_G CC4MACHO_CXX ?= g++$(HOSTSUFF_EXE)32 TOOL_G CC4MACHO_AS ?= gcc$(HOSTSUFF_EXE)33 TOOL_G CC4MACHO_LD ?= g++$(HOSTSUFF_EXE)34 TOOL_G CC4MACHO_LD_SYSMOD ?= g++$(HOSTSUFF_EXE)35 ifndef TOOL_G CC4MACHO_LDFLAGS.$(BUILD_TARGET)36 TOOL_G CC4MACHO_LDFLAGS.dll ?= -dynamiclib30 TOOL_GXX4MACHO_CC ?= gcc$(HOSTSUFF_EXE) 31 TOOL_GXX4MACHO_CXX ?= g++$(HOSTSUFF_EXE) 32 TOOL_GXX4MACHO_AS ?= gcc$(HOSTSUFF_EXE) 33 TOOL_GXX4MACHO_LD ?= g++$(HOSTSUFF_EXE) 34 TOOL_GXX4MACHO_LD_SYSMOD ?= g++$(HOSTSUFF_EXE) 35 ifndef TOOL_GXX4MACHO_LDFLAGS.$(BUILD_TARGET) 36 TOOL_GXX4MACHO_LDFLAGS.dll ?= -dynamiclib 37 37 else 38 TOOL_G CC4MACHO_LDFLAGS.dll ?= $(TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET))38 TOOL_GXX4MACHO_LDFLAGS.dll ?= $(TOOL_GXX4MACHO_LDFLAGS.$(BUILD_TARGET)) 39 39 endif 40 TOOL_G CC4MACHO_LDFLAGS.sysmod ?= -r41 #TOOL_G CC4MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))40 TOOL_GXX4MACHO_LDFLAGS.sysmod ?= -r 41 #TOOL_GXX4MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2))) 42 42 43 43 ifdef SLKRUNS 44 TOOL_G CC4MACHO_CC += -fmessage-length=045 TOOL_G CC4MACHO_CXX += -fmessage-length=044 TOOL_GXX4MACHO_CC += -fmessage-length=0 45 TOOL_GXX4MACHO_CXX += -fmessage-length=0 46 46 endif 47 47 48 48 # General Properties used by kBuild 49 TOOL_G CC4MACHO_COBJSUFF ?= .o50 TOOL_G CC4MACHO_CFLAGS ?=51 TOOL_G CC4MACHO_CFLAGS.debug ?= -g52 TOOL_G CC4MACHO_CFLAGS.profile ?= -g -O2 #-pg53 TOOL_G CC4MACHO_CFLAGS.release ?= -O254 TOOL_G CC4MACHO_CINCS ?=55 TOOL_G CC4MACHO_CDEFS ?=56 57 TOOL_G CC4MACHO_CXXOBJSUFF ?= .o58 TOOL_G CC4MACHO_CXXOBJSUFF ?= .o59 TOOL_G CC4MACHO_CXXFLAGS ?=60 TOOL_G CC4MACHO_CXXFLAGS.debug ?= -g61 TOOL_G CC4MACHO_CXXFLAGS.profile ?= -g -O2 #-pg62 TOOL_G CC4MACHO_CXXFLAGS.release ?= -O263 TOOL_G CC4MACHO_CXXINCS ?=64 TOOL_G CC4MACHO_CXXDEFS ?=65 66 TOOL_G CC4MACHO_ASFLAGS ?= -x assembler-with-cpp67 TOOL_G CC4MACHO_ASFLAGS.debug ?= -g68 TOOL_G CC4MACHO_ASFLAGS.profile ?= -g69 TOOL_G CC4MACHO_ASOBJSUFF ?= .o70 71 TOOL_G CC4MACHO_AR ?= ar$(HOSTSUFF_EXE)72 TOOL_G CC4MACHO_ARFLAGS ?= -c -rs73 TOOL_G CC4MACHO_ARLIBSUFF ?= .a74 75 TOOL_G CC4MACHO_LDFLAGS ?=76 TOOL_G CC4MACHO_LDFLAGS.debug ?= -g77 TOOL_G CC4MACHO_LDFLAGS.profile ?= -g49 TOOL_GXX4MACHO_COBJSUFF ?= .o 50 TOOL_GXX4MACHO_CFLAGS ?= 51 TOOL_GXX4MACHO_CFLAGS.debug ?= -g 52 TOOL_GXX4MACHO_CFLAGS.profile ?= -g -O2 #-pg 53 TOOL_GXX4MACHO_CFLAGS.release ?= -O2 54 TOOL_GXX4MACHO_CINCS ?= 55 TOOL_GXX4MACHO_CDEFS ?= 56 57 TOOL_GXX4MACHO_CXXOBJSUFF ?= .o 58 TOOL_GXX4MACHO_CXXOBJSUFF ?= .o 59 TOOL_GXX4MACHO_CXXFLAGS ?= 60 TOOL_GXX4MACHO_CXXFLAGS.debug ?= -g 61 TOOL_GXX4MACHO_CXXFLAGS.profile ?= -g -O2 #-pg 62 TOOL_GXX4MACHO_CXXFLAGS.release ?= -O2 63 TOOL_GXX4MACHO_CXXINCS ?= 64 TOOL_GXX4MACHO_CXXDEFS ?= 65 66 TOOL_GXX4MACHO_ASFLAGS ?= -x assembler-with-cpp 67 TOOL_GXX4MACHO_ASFLAGS.debug ?= -g 68 TOOL_GXX4MACHO_ASFLAGS.profile ?= -g 69 TOOL_GXX4MACHO_ASOBJSUFF ?= .o 70 71 TOOL_GXX4MACHO_AR ?= ar$(HOSTSUFF_EXE) 72 TOOL_GXX4MACHO_ARFLAGS ?= -c -rs 73 TOOL_GXX4MACHO_ARLIBSUFF ?= .a 74 75 TOOL_GXX4MACHO_LDFLAGS ?= 76 TOOL_GXX4MACHO_LDFLAGS.debug ?= -g 77 TOOL_GXX4MACHO_LDFLAGS.profile ?= -g 78 78 79 79 … … 91 91 # @param $(outbase) Output basename (full). Use this for list files and such. 92 92 # @param $(objsuff) Object suffix. 93 TOOL_G CC4MACHO_COMPILE_C_OUTPUT =94 TOOL_G CC4MACHO_COMPILE_C_DEPEND =95 TOOL_G CC4MACHO_COMPILE_C_DEPORD =96 define TOOL_G CC4MACHO_COMPILE_C_CMDS97 $(QUIET)$(TOOL_G CC4MACHO_CC) -c\93 TOOL_GXX4MACHO_COMPILE_C_OUTPUT = 94 TOOL_GXX4MACHO_COMPILE_C_DEPEND = 95 TOOL_GXX4MACHO_COMPILE_C_DEPORD = 96 define TOOL_GXX4MACHO_COMPILE_C_CMDS 97 $(QUIET)$(TOOL_GXX4MACHO_CC) -c\ 98 98 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 99 99 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 115 115 # @param $(outbase) Output basename (full). Use this for list files and such. 116 116 # @param $(objsuff) Object suffix. 117 TOOL_G CC4MACHO_COMPILE_CXX_OUTPUT =118 TOOL_G CC4MACHO_COMPILE_CXX_DEPEND =119 TOOL_G CC4MACHO_COMPILE_CXX_DEPORD =120 define TOOL_G CC4MACHO_COMPILE_CXX_CMDS121 $(QUIET)$(TOOL_G CC4MACHO_CXX) -c\117 TOOL_GXX4MACHO_COMPILE_CXX_OUTPUT = 118 TOOL_GXX4MACHO_COMPILE_CXX_DEPEND = 119 TOOL_GXX4MACHO_COMPILE_CXX_DEPORD = 120 define TOOL_GXX4MACHO_COMPILE_CXX_CMDS 121 $(QUIET)$(TOOL_GXX4MACHO_CXX) -c\ 122 122 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 123 123 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 140 140 # @param $(objsuff) Object suffix. 141 141 # 142 TOOL_G CC4MACHO_COMPILE_AS_OUTPUT =143 TOOL_G CC4MACHO_COMPILE_AS_DEPEND =144 TOOL_G CC4MACHO_COMPILE_AS_DEPORD =145 define TOOL_G CC4MACHO_COMPILE_AS_CMDS146 $(QUIET)$(TOOL_G CC4MACHO_AS) -c\142 TOOL_GXX4MACHO_COMPILE_AS_OUTPUT = 143 TOOL_GXX4MACHO_COMPILE_AS_DEPEND = 144 TOOL_GXX4MACHO_COMPILE_AS_DEPORD = 145 define TOOL_GXX4MACHO_COMPILE_AS_CMDS 146 $(QUIET)$(TOOL_GXX4MACHO_AS) -c\ 147 147 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 148 148 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 161 161 # @param $(othersrc) Unhandled sources. 162 162 # @param $(outbase) Output basename (full). Use this for list files and such. 163 TOOL_G CC4MACHO_LINK_LIBRARY_OUTPUT =164 TOOL_G CC4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)165 TOOL_G CC4MACHO_LINK_LIBRARY_DEPORD =166 define TOOL_G CC4MACHO_LINK_LIBRARY_CMDS167 $(call xargs,$(QUIET)$(TOOL_G CC4MACHO_AR) $(flags) $(out),$(objs))163 TOOL_GXX4MACHO_LINK_LIBRARY_OUTPUT = 164 TOOL_GXX4MACHO_LINK_LIBRARY_DEPEND = $(othersrc) 165 TOOL_GXX4MACHO_LINK_LIBRARY_DEPORD = 166 define TOOL_GXX4MACHO_LINK_LIBRARY_CMDS 167 $(call xargs,$(QUIET)$(TOOL_GXX4MACHO_AR) $(flags) $(out),$(objs)) 168 168 $(foreach lib,$(othersrc)\ 169 169 ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \ … … 171 171 $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \ 172 172 $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \ 173 && $(TOOL_G CC4MACHO_AR) -x $(abspath $(lib)) \173 && $(TOOL_GXX4MACHO_AR) -x $(abspath $(lib)) \ 174 174 && $(RM_EXT) -f ./__.SYMDEF* \ 175 && $(TOOL_G CC4MACHO_AR) $(flags) $(out) *) \175 && $(TOOL_GXX4MACHO_AR) $(flags) $(out) *) \ 176 176 $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \ 177 177 $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/) … … 192 192 # @param $(custom_post) Custom step invoked after linking. 193 193 # @param $(outbase) Output basename (full). Use this for list files and such. 194 TOOL_G CC4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp195 TOOL_G CC4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))196 TOOL_G CC4MACHO_LINK_PROGRAM_DEPORD =197 define TOOL_G CC4MACHO_LINK_PROGRAM_CMDS194 TOOL_GXX4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp 195 TOOL_GXX4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 196 TOOL_GXX4MACHO_LINK_PROGRAM_DEPORD = 197 define TOOL_GXX4MACHO_LINK_PROGRAM_CMDS 198 198 $(QUIET)$(APPEND) -n $(outbase).rsp $(objs) 199 $(QUIET)$(TOOL_G CC4MACHO_LD) $(flags) -o $(out)\199 $(QUIET)$(TOOL_GXX4MACHO_LD) $(flags) -o $(out)\ 200 200 -filelist $(outbase).rsp\ 201 201 $(foreach p,$(libpath), -L$(p))\ … … 217 217 # @param $(custom_post) Custom step invoked after linking. 218 218 # @param $(outbase) Output basename (full). Use this for list files and such. 219 TOOL_G CC4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp220 TOOL_G CC4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))221 TOOL_G CC4MACHO_LINK_DLL_DEPORD =222 define TOOL_G CC4MACHO_LINK_DLL_CMDS219 TOOL_GXX4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp 220 TOOL_GXX4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 221 TOOL_GXX4MACHO_LINK_DLL_DEPORD = 222 define TOOL_GXX4MACHO_LINK_DLL_CMDS 223 223 $(QUIET)$(APPEND) -n $(outbase).rsp $(objs) 224 $(QUIET)$(TOOL_G CC4MACHO_LD) $(TOOL_GCC4MACHO_LDFLAGS.dll) $(flags) -o $(out)\225 $(call TOOL_G CC4MACHO_LD_SONAME,$(target),$(out))\224 $(QUIET)$(TOOL_GXX4MACHO_LD) $(TOOL_GXX4MACHO_LDFLAGS.dll) $(flags) -o $(out)\ 225 $(call TOOL_GXX4MACHO_LD_SONAME,$(target),$(out))\ 226 226 -filelist $(outbase).rsp\ 227 227 $(foreach p,$(libpath), -L$(p))\ … … 243 243 # @param $(custom_post) Custom step invoked after linking. 244 244 # @param $(outbase) Output basename (full). Use this for list files and such. 245 TOOL_G CC4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp246 TOOL_G CC4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))247 TOOL_G CC4MACHO_LINK_SYSMOD_DEPORD =248 define TOOL_G CC4MACHO_LINK_SYSMOD_CMDS245 TOOL_GXX4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp 246 TOOL_GXX4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 247 TOOL_GXX4MACHO_LINK_SYSMOD_DEPORD = 248 define TOOL_GXX4MACHO_LINK_SYSMOD_CMDS 249 249 $(QUIET)$(APPEND) -n $(outbase).rsp $(objs) 250 $(QUIET)$(TOOL_G CC4MACHO_LD_SYSMOD) $(TOOL_GCC4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\250 $(QUIET)$(TOOL_GXX4MACHO_LD_SYSMOD) $(TOOL_GXX4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\ 251 251 -filelist $(outbase).rsp\ 252 252 $(foreach p,$(libpath), -L$(p))\
Note:
See TracChangeset
for help on using the changeset viewer.