Merge change 1642 into donut

* changes:
  Allow the build system to build Objective-C sources.
This commit is contained in:
Android (Google) Code Review 2009-05-25 02:53:19 -07:00
commit 866a6d399e
2 changed files with 43 additions and 0 deletions

View File

@ -211,6 +211,19 @@ $(c_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.c $(yacc_cpps) $(PR
-include $(c_objects:%.o=%.P)
endif
###########################################################
## ObjC: Compile .m files to .o
###########################################################
objc_sources := $(filter %.m,$(LOCAL_SRC_FILES))
objc_objects := $(addprefix $(intermediates)/,$(objc_sources:.m=.o))
ifneq ($(strip $(objc_objects)),)
$(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m $(yacc_cpps) $(PRIVATE_ADDITIONAL_DEPENDENCIES)
$(transform-$(PRIVATE_HOST)m-to-o)
-include $(objc_objects:%.o=%.P)
endif
###########################################################
## AS: Compile .S files to .o.
###########################################################

View File

@ -793,6 +793,22 @@ $(transform-s-to-o-no-deps)
$(hide) $(transform-d-to-p)
endef
###########################################################
## Commands for running gcc to compile an Objective-C file
## This should never happen for target builds but this
## will error at build time.
###########################################################
define transform-m-to-o-no-deps
@echo "target ObjC: $(PRIVATE_MODULE) <= $<"
$(call transform-c-or-s-to-o-no-deps)
endef
define transform-m-to-o
$(transform-m-to-o-no-deps)
$(hide) $(transform-d-to-p)
endef
###########################################################
## Commands for running gcc to compile a host C++ file
###########################################################
@ -870,6 +886,20 @@ $(transform-host-s-to-o-no-deps)
$(transform-d-to-p)
endef
###########################################################
## Commands for running gcc to compile a host Objective-C file
###########################################################
define transform-host-m-to-o-no-deps
@echo "host ObjC: $(PRIVATE_MODULE) <= $<"
$(call transform-host-c-or-s-to-o-no-deps)
endef
define tranform-host-m-to-o
$(transform-host-m-to-o-no-deps)
$(transform-d-to-p)
endef
###########################################################
## Commands for running ar
###########################################################