Changeset 971 for trunk/kBuild/tools/GXX4MACHO.kmk
- Timestamp:
- May 27, 2007, 6:45:22 PM (18 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
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.