Changeset 560
- Timestamp:
- Oct 1, 2006, 3:43:10 AM (19 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/GCC4MACHO.kmk
r559 r560 2 2 ## @file 3 3 # 4 # kBuild Tool Config - Darwin / Mac OS X / Mach GCC (v4).4 # kBuild Tool Config - Darwin / Mac OS X / Mach-O GCC (v4). 5 5 # 6 6 # Copyright (c) 2004-2006 knut st. osmundsen <bird-srcspam@anduin.net> … … 25 25 # 26 26 27 TOOL_GCC4MACH := MachGCC v428 29 TOOL_GCC4MACH _CC := gcc$(HOSTSUFF_EXE)30 TOOL_GCC4MACH _COBJSUFF := .o31 TOOL_GCC4MACH _CFLAGS := -g32 TOOL_GCC4MACH _CFLAGS.debug := -O033 TOOL_GCC4MACH _CFLAGS.release := -O234 TOOL_GCC4MACH _CFLAGS.profile := -O2 #-pg35 TOOL_GCC4MACH _CINCS :=36 TOOL_GCC4MACH _CDEFS :=37 38 TOOL_GCC4MACH _CXX := g++$(HOSTSUFF_EXE)39 TOOL_GCC4MACH _CXXOBJSUFF := .o40 TOOL_GCC4MACH _CXXOBJSUFF := .o41 TOOL_GCC4MACH _CXXFLAGS := -g42 TOOL_GCC4MACH _CXXFLAGS.debug := -O043 TOOL_GCC4MACH _CXXFLAGS.release := -O244 TOOL_GCC4MACH _CXXFLAGS.profile := -O2 #-pg45 TOOL_GCC4MACH _CXXINCS :=46 TOOL_GCC4MACH _CXXDEFS :=47 48 TOOL_GCC4MACH _AS := gcc$(HOSTSUFF_EXE)49 TOOL_GCC4MACH _ASFLAGS := -g -x assembler-with-cpp50 TOOL_GCC4MACH _ASOBJSUFF := .o51 52 TOOL_GCC4MACH _AR := ar$(HOSTSUFF_EXE)53 TOOL_GCC4MACH _ARFLAGS := -c -rs54 TOOL_GCC4MACH _ARLIBSUFF := .a55 56 TOOL_GCC4MACH _AR_IMP := $(ECHO) not supported!57 58 TOOL_GCC4MACH _LD := g++$(HOSTSUFF_EXE)59 TOOL_GCC4MACH _LD_SYSMOD := ld$(HOSTSUFF_EXE)60 TOOL_GCC4MACH _LDFLAGS :=61 TOOL_GCC4MACH _LDFLAGS.debug := -g62 TOOL_GCC4MACH _LDFLAGS.release := -s63 ifndef TOOL_GCC4MACH _LDFLAGS.$(BUILD_TARGET)64 TOOL_GCC4MACH _LDFLAGS.dll := -dynamiclib27 TOOL_GCC4MACHO := Mach-O GCC v4 28 29 TOOL_GCC4MACHO_CC := gcc$(HOSTSUFF_EXE) 30 TOOL_GCC4MACHO_COBJSUFF := .o 31 TOOL_GCC4MACHO_CFLAGS := -g 32 TOOL_GCC4MACHO_CFLAGS.debug := -O0 33 TOOL_GCC4MACHO_CFLAGS.release := -O2 34 TOOL_GCC4MACHO_CFLAGS.profile := -O2 #-pg 35 TOOL_GCC4MACHO_CINCS := 36 TOOL_GCC4MACHO_CDEFS := 37 38 TOOL_GCC4MACHO_CXX := g++$(HOSTSUFF_EXE) 39 TOOL_GCC4MACHO_CXXOBJSUFF := .o 40 TOOL_GCC4MACHO_CXXOBJSUFF := .o 41 TOOL_GCC4MACHO_CXXFLAGS := -g 42 TOOL_GCC4MACHO_CXXFLAGS.debug := -O0 43 TOOL_GCC4MACHO_CXXFLAGS.release := -O2 44 TOOL_GCC4MACHO_CXXFLAGS.profile := -O2 #-pg 45 TOOL_GCC4MACHO_CXXINCS := 46 TOOL_GCC4MACHO_CXXDEFS := 47 48 TOOL_GCC4MACHO_AS := gcc$(HOSTSUFF_EXE) 49 TOOL_GCC4MACHO_ASFLAGS := -g -x assembler-with-cpp 50 TOOL_GCC4MACHO_ASOBJSUFF := .o 51 52 TOOL_GCC4MACHO_AR := ar$(HOSTSUFF_EXE) 53 TOOL_GCC4MACHO_ARFLAGS := -c -rs 54 TOOL_GCC4MACHO_ARLIBSUFF := .a 55 56 TOOL_GCC4MACHO_AR_IMP := $(ECHO) not supported! 57 58 TOOL_GCC4MACHO_LD := g++$(HOSTSUFF_EXE) 59 TOOL_GCC4MACHO_LD_SYSMOD := ld$(HOSTSUFF_EXE) 60 TOOL_GCC4MACHO_LDFLAGS := 61 TOOL_GCC4MACHO_LDFLAGS.debug := -g 62 TOOL_GCC4MACHO_LDFLAGS.release := -s 63 ifndef TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET) 64 TOOL_GCC4MACHO_LDFLAGS.dll := -dynamiclib 65 65 else 66 TOOL_GCC4MACH _LDFLAGS.dll := $(TOOL_GCC4MACH_LDFLAGS.$(BUILD_TARGET))66 TOOL_GCC4MACHO_LDFLAGS.dll := $(TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET)) 67 67 endif 68 TOOL_GCC4MACH _LDFLAGS.sysmod := -r69 #TOOL_GCC4MACH _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)))70 TOOL_GCC4MACH _LD_MAP =71 TOOL_GCC4MACH _LD_SYSMOD_MAP =68 TOOL_GCC4MACHO_LDFLAGS.sysmod := -r 69 #TOOL_GCC4MACHO_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))) 70 TOOL_GCC4MACHO_LD_MAP = 71 TOOL_GCC4MACHO_LD_SYSMOD_MAP = 72 72 73 73 ifdef SLKRUNS 74 TOOL_GCC4MACH _CC += -fmessage-length=075 TOOL_GCC4MACH _CXX += -fmessage-length=074 TOOL_GCC4MACHO_CC += -fmessage-length=0 75 TOOL_GCC4MACHO_CXX += -fmessage-length=0 76 76 endif 77 77 … … 90 90 # @param $(outbase) Output basename (full). Use this for list files and such. 91 91 # @param $(objsuff) Object suffix. 92 TOOL_GCC4MACH _COMPILE_C_OUTPUT =93 TOOL_GCC4MACH _COMPILE_C_DEPEND =94 TOOL_GCC4MACH _COMPILE_C_DEPORD =95 define TOOL_GCC4MACH _COMPILE_C_CMDS96 $(TOOL_GCC4MACH _CC) -c\92 TOOL_GCC4MACHO_COMPILE_C_OUTPUT = 93 TOOL_GCC4MACHO_COMPILE_C_DEPEND = 94 TOOL_GCC4MACHO_COMPILE_C_DEPORD = 95 define TOOL_GCC4MACHO_COMPILE_C_CMDS 96 $(TOOL_GCC4MACHO_CC) -c\ 97 97 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 98 98 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 114 114 # @param $(outbase) Output basename (full). Use this for list files and such. 115 115 # @param $(objsuff) Object suffix. 116 TOOL_GCC4MACH _COMPILE_CXX_OUTPUT =117 TOOL_GCC4MACH _COMPILE_CXX_DEPEND =118 TOOL_GCC4MACH _COMPILE_CXX_DEPORD =119 define TOOL_GCC4MACH _COMPILE_CXX_CMDS120 $(TOOL_GCC4MACH _CXX) -c\116 TOOL_GCC4MACHO_COMPILE_CXX_OUTPUT = 117 TOOL_GCC4MACHO_COMPILE_CXX_DEPEND = 118 TOOL_GCC4MACHO_COMPILE_CXX_DEPORD = 119 define TOOL_GCC4MACHO_COMPILE_CXX_CMDS 120 $(TOOL_GCC4MACHO_CXX) -c\ 121 121 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 122 122 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 139 139 # @param $(objsuff) Object suffix. 140 140 # 141 TOOL_GCC4MACH _COMPILE_AS_OUTPUT =142 TOOL_GCC4MACH _COMPILE_AS_DEPEND =143 TOOL_GCC4MACH _COMPILE_AS_DEPORD =144 define TOOL_GCC4MACH _COMPILE_AS_CMDS145 $(TOOL_GCC4MACH _AS) -c\141 TOOL_GCC4MACHO_COMPILE_AS_OUTPUT = 142 TOOL_GCC4MACHO_COMPILE_AS_DEPEND = 143 TOOL_GCC4MACHO_COMPILE_AS_DEPORD = 144 define TOOL_GCC4MACHO_COMPILE_AS_CMDS 145 $(TOOL_GCC4MACHO_AS) -c\ 146 146 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 147 147 -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\ … … 160 160 # @param $(othersrc) Unhandled sources. 161 161 # @param $(outbase) Output basename (full). Use this for list files and such. 162 TOOL_GCC4MACH _LINK_LIBRARY_OUTPUT =163 TOOL_GCC4MACH _LINK_LIBRARY_DEPEND = $(filter %.a %.lib %.def %.imp,$(othersrc))164 TOOL_GCC4MACH _LINK_LIBRARY_DEPORD =165 define TOOL_GCC4MACH _LINK_LIBRARY_CMDS166 $(TOOL_GCC4MACH _AR) $(flags) $(out) $(objs) $(filter %.a %.lib, $(othersrc))162 TOOL_GCC4MACHO_LINK_LIBRARY_OUTPUT = 163 TOOL_GCC4MACHO_LINK_LIBRARY_DEPEND = $(filter %.a %.lib %.def %.imp,$(othersrc)) 164 TOOL_GCC4MACHO_LINK_LIBRARY_DEPORD = 165 define TOOL_GCC4MACHO_LINK_LIBRARY_CMDS 166 $(TOOL_GCC4MACHO_AR) $(flags) $(out) $(objs) $(filter %.a %.lib, $(othersrc)) 167 167 endef 168 168 … … 181 181 # @param $(custom_post) Custom step invoked after linking. 182 182 # @param $(outbase) Output basename (full). Use this for list files and such. 183 TOOL_GCC4MACH _LINK_PROGRAM_OUTPUT = $(outbase).map184 TOOL_GCC4MACH _LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))185 TOOL_GCC4MACH _LINK_PROGRAM_DEPORD =186 define TOOL_GCC4MACH _LINK_PROGRAM_CMDS187 $(TOOL_GCC4MACH _LD) $(flags) -o $(out) $(objs)\183 TOOL_GCC4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).map 184 TOOL_GCC4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 185 TOOL_GCC4MACHO_LINK_PROGRAM_DEPORD = 186 define TOOL_GCC4MACHO_LINK_PROGRAM_CMDS 187 $(TOOL_GCC4MACHO_LD) $(flags) -o $(out) $(objs)\ 188 188 $(foreach p,$(libpath), -L$(p))\ 189 189 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 190 $(call TOOL_GCC4MACH _LD_MAP,$(outbase).map)190 $(call TOOL_GCC4MACHO_LD_MAP,$(outbase).map) 191 191 endef 192 192 … … 205 205 # @param $(custom_post) Custom step invoked after linking. 206 206 # @param $(outbase) Output basename (full). Use this for list files and such. 207 TOOL_GCC4MACH _LINK_DLL_OUTPUT = $(outbase).map208 TOOL_GCC4MACH _LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))209 TOOL_GCC4MACH _LINK_DLL_DEPORD =210 define TOOL_GCC4MACH _LINK_DLL_CMDS211 $(TOOL_GCC4MACH _LD) $(TOOL_GCC4MACH_LDFLAGS.dll) $(flags) -o $(out)\212 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GCC4MACH _LD_SONAME,$(target),$(out)))\207 TOOL_GCC4MACHO_LINK_DLL_OUTPUT = $(outbase).map 208 TOOL_GCC4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 209 TOOL_GCC4MACHO_LINK_DLL_DEPORD = 210 define TOOL_GCC4MACHO_LINK_DLL_CMDS 211 $(TOOL_GCC4MACHO_LD) $(TOOL_GCC4MACHO_LDFLAGS.dll) $(flags) -o $(out)\ 212 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GCC4MACHO_LD_SONAME,$(target),$(out)))\ 213 213 $(objs)\ 214 214 $(foreach p,$(libpath), -L$(p))\ 215 215 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 216 $(call TOOL_GCC4MACH _LD_MAP,$(outbase).map)216 $(call TOOL_GCC4MACHO_LD_MAP,$(outbase).map) 217 217 endef 218 218 … … 231 231 # @param $(custom_post) Custom step invoked after linking. 232 232 # @param $(outbase) Output basename (full). Use this for list files and such. 233 TOOL_GCC4MACH _LINK_SYSMOD_OUTPUT = $(outbase).map234 TOOL_GCC4MACH _LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))235 TOOL_GCC4MACH _LINK_SYSMOD_DEPORD =236 define TOOL_GCC4MACH _LINK_SYSMOD_CMDS237 $(TOOL_GCC4MACH _LD_SYSMOD) $(TOOL_GCC4MACH_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\233 TOOL_GCC4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).map 234 TOOL_GCC4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 235 TOOL_GCC4MACHO_LINK_SYSMOD_DEPORD = 236 define TOOL_GCC4MACHO_LINK_SYSMOD_CMDS 237 $(TOOL_GCC4MACHO_LD_SYSMOD) $(TOOL_GCC4MACHO_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\ 238 238 $(foreach p,$(libpath), -L$(p))\ 239 239 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\ 240 $(call TOOL_GCC4MACH _LD_SYSMOD_MAP,$(outbase).map)241 endef 242 240 $(call TOOL_GCC4MACHO_LD_SYSMOD_MAP,$(outbase).map) 241 endef 242
Note:
See TracChangeset
for help on using the changeset viewer.