Ignore:
Timestamp:
Oct 25, 2007, 4:46:21 AM (18 years ago)
Author:
bird
Message:

Objective-C support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/tools/GCC4MACHO.kmk

    r1174 r1257  
    3030TOOL_GCC4MACHO_CC  ?= gcc$(HOSTSUFF_EXE)
    3131TOOL_GCC4MACHO_CXX ?= g++$(HOSTSUFF_EXE)
     32TOOL_GCC4MACHO_OBJC?= gcc$(HOSTSUFF_EXE)
    3233TOOL_GCC4MACHO_AS  ?= gcc$(HOSTSUFF_EXE)
    3334TOOL_GCC4MACHO_LD  ?= gcc$(HOSTSUFF_EXE)
     
    4445TOOL_GCC4MACHO_CC  += -fmessage-length=0
    4546TOOL_GCC4MACHO_CXX += -fmessage-length=0
     47TOOL_GCC4MACHO_OBJC+= -fmessage-length=0
    4648endif
    4749
     
    6365TOOL_GCC4MACHO_CXXINCS          ?=
    6466TOOL_GCC4MACHO_CXXDEFS          ?=
     67
     68TOOL_GCC4MACHO_OBJCOBJSUFF      ?= .o
     69TOOL_GCC4MACHO_OBJCOBJSUFF      ?= .o
     70TOOL_GCC4MACHO_OBJCFLAGS        ?=
     71TOOL_GCC4MACHO_OBJCFLAGS.debug  ?= -g
     72TOOL_GCC4MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
     73TOOL_GCC4MACHO_OBJCFLAGS.release?= -O2
     74TOOL_GCC4MACHO_OBJCINCS         ?=
     75TOOL_GCC4MACHO_OBJCDEFS         ?=
    6576
    6677TOOL_GCC4MACHO_ASFLAGS          ?= -x assembler-with-cpp
     
    155166define TOOL_GCC4MACHO_COMPILE_CXX_CMDS
    156167        $(QUIET)$(TOOL_GCC4MACHO_CXX) -c\
     168                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     169                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     170                -o $(obj)\
     171                $(abspath $(source))
     172endef
     173endif # !USE_KOBJCACHE
     174
     175
     176## Compile Objective-C source.
     177# @param    $(target)   Normalized main target name.
     178# @param    $(source)   Source filename (relative).
     179# @param    $(obj)      Object file name. This shall be (re)created by the compilation.
     180# @param    $(dep)          Dependcy file. This shall be (re)created by the compilation.
     181# @param    $(flags)    Flags.
     182# @param    $(defs)     Definitions. No -D or something.
     183# @param    $(incs)     Includes. No -I or something.
     184# @param    $(dirdep)   Directory creation dependency.
     185# @param    $(deps)             Other dependencies.
     186# @param    $(outbase)  Output basename (full). Use this for list files and such.
     187# @param    $(objsuff)  Object suffix.
     188TOOL_GCC4MACHO_COMPILE_OBJC_DEPEND =
     189TOOL_GCC4MACHO_COMPILE_OBJC_DEPORD =
     190ifdef USE_KOBJCACHE
     191TOOL_GCC4MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
     192TOOL_GCC4MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
     193define TOOL_GCC4MACHO_COMPILE_OBJC_CMDS
     194        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
     195                --kObjCache-cpp $(outbase).ii\
     196                $(TOOL_GCC4MACHO_OBJC) -E -o -\
     197                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     198                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     199                $(abspath $(source))\
     200                --kObjCache-cc $(obj)\
     201                $(TOOL_GCC4MACHO_OBJC) -c\
     202                $(flags) -fpreprocessed -x cbjective-c\
     203                -o $(obj)\
     204                -
     205endef
     206else  # !USE_KOBJCACHE
     207TOOL_GCC4MACHO_COMPILE_OBJC_OUTPUT =
     208define TOOL_GCC4MACHO_COMPILE_OBJC_CMDS
     209        $(QUIET)$(TOOL_GCC4MACHO_OBJC) -c\
    157210                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    158211                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
Note: See TracChangeset for help on using the changeset viewer.