Index: /trunk/kBuild/footer.kmk
===================================================================
--- /trunk/kBuild/footer.kmk	(revision 1255)
+++ /trunk/kBuild/footer.kmk	(revision 1256)
@@ -1458,14 +1458,14 @@
 # @param    $(target)     Normalized target name.
 # @param    $(source)     Source file name.
-# @param    $(type)       Source type. {C,CXX,AS}
+# @param    $(type)       Source type. {C,CXX,AS,OBJC}
 # @param    bld_type      Build type.
 # @param    bld_trg       Build target.
 # @param    bld_trg_arch  Build target arch.
 # @param    bld_trg_cpu   Build target cpu.
-def_target_source_c_cpp_asm_rc_new = $(kb-src-one )
+def_target_source_c_cpp_objc_asm_rc_new = $(kb-src-one )
 ifdef KMK_VERSION
- def_target_source_c_cpp_asm_rc_var = def_target_source_c_cpp_asm_rc_new
+ def_target_source_c_cpp_objc_asm_rc_var = def_target_source_c_cpp_objc_asm_rc_new
 else
- def_target_source_c_cpp_asm_rc_var = def_target_source_c_cpp_asm_rc_old
+ def_target_source_c_cpp_objc_asm_rc_var = def_target_source_c_cpp_objc_asm_rc_old
 endif
 
@@ -1479,20 +1479,25 @@
 type := C
 $(foreach source, $(filter %.c             , $($(target)_SOURCES) $($(target)_SOURCES.$(bld_trg)) $($(target)_SOURCES.$(bld_trg).$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_cpu)) $($(target)_SOURCES.$(bld_type)))\
-   ,$(eval $(value $(def_target_source_c_cpp_asm_rc_var))) )
+   ,$(eval $(value $(def_target_source_c_cpp_objc_asm_rc_var))) )
 
 # C++ sources
 type := CXX
 $(foreach source, $(filter %.cpp %.cxx %.xx, $($(target)_SOURCES) $($(target)_SOURCES.$(bld_trg)) $($(target)_SOURCES.$(bld_trg).$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_cpu)) $($(target)_SOURCES.$(bld_type)))\
-	,$(eval $(value $(def_target_source_c_cpp_asm_rc_var))) )
+	,$(eval $(value $(def_target_source_c_cpp_objc_asm_rc_var))) )
+
+# Objective-C sources
+type := OBJC
+$(foreach source, $(filter %.m,              $($(target)_SOURCES) $($(target)_SOURCES.$(bld_trg)) $($(target)_SOURCES.$(bld_trg).$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_cpu)) $($(target)_SOURCES.$(bld_type)))\
+	,$(eval $(value $(def_target_source_c_cpp_objc_asm_rc_var))) )
 
 # ASM sources
 type := AS
 $(foreach source, $(filter %.asm %.s %.S   , $($(target)_SOURCES) $($(target)_SOURCES.$(bld_trg)) $($(target)_SOURCES.$(bld_trg).$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_cpu)) $($(target)_SOURCES.$(bld_type)))\
-	,$(eval $(value $(def_target_source_c_cpp_asm_rc_var))) )
+	,$(eval $(value $(def_target_source_c_cpp_objc_asm_rc_var))) )
 
 # Resource sources
 type := RC
 $(foreach source, $(filter %.rc            , $($(target)_SOURCES) $($(target)_SOURCES.$(bld_trg)) $($(target)_SOURCES.$(bld_trg).$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_arch)) $($(target)_SOURCES.$(bld_trg_cpu)) $($(target)_SOURCES.$(bld_type)))\
-	,$(eval $(value $(def_target_source_c_cpp_asm_rc_var))) )
+	,$(eval $(value $(def_target_source_c_cpp_objc_asm_rc_var))) )
 
 endef
@@ -1604,5 +1609,5 @@
 	$($(target)_ARFLAGS.$(bld_trg).$(bld_trg_arch)) \
 	$($(target)_ARFLAGS.$(bld_trg_cpu))
-othersrc    := $(filter-out %.c %.cpp %.cxx %.cc %.s %.S %.asm %.rc %.o %.obj %.res,\
+othersrc    := $(filter-out %.c %.cpp %.cxx %.cc %.m %.s %.S %.asm %.rc %.o %.obj %.res,\
 	$($(target)_SOURCES) \
 	$($(target)_SOURCES.$(bld_trg)) \
@@ -1851,5 +1856,5 @@
 	$($(target)_LDFLAGS.$(bld_trg).$(bld_trg_arch))\
 	$($(target)_LDFLAGS.$(bld_trg_cpu))
-othersrc    := $(filter-out %.c %.cpp %.cxx %.cc %.s %.S %.asm %.rc %.o %.obj %.res,\
+othersrc    := $(filter-out %.c %.cpp %.cxx %.cc %.m %.s %.S %.asm %.rc %.o %.obj %.res,\
 	$($(target)_SOURCES)\
 	$($(target)_SOURCES.$(bld_trg)) \
Index: /trunk/kBuild/header.kmk
===================================================================
--- /trunk/kBuild/header.kmk	(revision 1255)
+++ /trunk/kBuild/header.kmk	(revision 1256)
@@ -557,5 +557,5 @@
 ## PROPS_TOOLS
 # This is a subset of PROPS_SINGLE.
-PROPS_TOOLS := TOOL CTOOL CXXTOOL ASTOOL RCTOOL ARTOOL LDTOOL FETCHTOOL UNPACKTOOL PATCHTOOL
+PROPS_TOOLS := TOOL CTOOL CXXTOOL OBJCTOOL ASTOOL RCTOOL ARTOOL LDTOOL FETCHTOOL UNPACKTOOL PATCHTOOL
 
 ## PROPS_SINGLE
@@ -564,10 +564,10 @@
 # will do the necessary inheritance from templates to targets.
 PROPS_SINGLE := $(PROPS_TOOLS) INST NOINST BLD_TYPE BLD_TRG BLD_TRG_ARCH BLD_TRG_CPU FETCHDIR \
-	OBJSUFF COBJSUFF CXXOBJSUFF ASOBJSUFF RCOBJSUFF SYSSUFF EXESUFF DLLSUFF LIBSUFF ARLIBSUFF
+	OBJSUFF COBJSUFF CXXOBJSUFF OBJCOBJSUFF ASOBJSUFF RCOBJSUFF SYSSUFF EXESUFF DLLSUFF LIBSUFF ARLIBSUFF
 ## PROPS_SINGLE_LNK
 # Subset of PROPS_SINGLE which applies to all linkable targets.
-PROPS_SINGLE_LNK := TOOL CTOOL CXXTOOL ASTOOL RCTOOL \
+PROPS_SINGLE_LNK := TOOL CTOOL CXXTOOL OBJCTOOL ASTOOL RCTOOL \
     INST NOINST BLD_TYPE BLD_TRG BLD_TRG_ARCH BLD_TRG_CPU \
-	OBJSUFF COBJSUFF CXXOBJSUFF ASOBJSUFF RCOBJSUFF
+	OBJSUFF COBJSUFF CXXOBJSUFF OBJCOBJSUFF ASOBJSUFF RCOBJSUFF
 
 ## PROPS_DEFERRED
@@ -586,4 +586,5 @@
 	CFLAGS CDEFS \
 	CXXFLAGS CXXDEFS \
+	OBJCFLAGS OBJCDEFS \
 	ASFLAGS ASDEFS \
 	RCFLAGS RCDEFS \
@@ -597,4 +598,5 @@
 	CFLAGS CDEFS \
 	CXXFLAGS CXXDEFS \
+	OBJCFLAGS OBJCDEFS \
 	ASFLAGS ASDEFS \
 	RCFLAGS RCDEFS \
@@ -608,5 +610,5 @@
 PROPS_ACCUMULATE_L := \
 	SDKS SOURCES \
-	INCS CINCS CXXINCX ASINCS RCINCS \
+	INCS CINCS CXXINCS OBJCINCS ASINCS RCINCS \
 	LIBS LIBPATH \
 	DIRS BLDDIRS CLEAN
@@ -615,5 +617,5 @@
 PROPS_ACCUMULATE_L_LNK := \
 	SDKS SOURCES \
-	INCS CINCS CXXINCX ASINCS RCINCS \
+	INCS CINCS CXXINCS OBJCINCS ASINCS RCINCS \
 	BLDDIRS CLEAN
 
@@ -907,5 +909,5 @@
  # @param 2     The source filename.
  # @param 3     The primary link output file name.
- # @param 4     The source type (CXX,C,AS,RC,++).
+ # @param 4     The source type (C,CXX,OBJC,AS,RC,++).
  MSG_COMPILE  ?= $(call MSG_L1,Compiling $1 - $2,=> $3)
  ## Tool
