Support .asm being compiled by yasm targeted for x86.

Change-Id: Icd6626a082facf920b0e49e2fbe8861e94400552
This commit is contained in:
Ying Wang 2014-06-05 19:05:47 -07:00
parent e564c0cbd0
commit 7b913ce6fa
3 changed files with 25 additions and 0 deletions

View file

@ -744,6 +744,19 @@ endif
asm_objects := $(asm_objects_S) $(asm_objects_s)
# .asm for x86 needs to be compiled with yasm.
ifeq (x86,$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))
asm_sources_asm := $(filter %.asm,$(my_src_files))
ifneq ($(strip $(asm_sources_asm)),)
asm_objects_asm := $(addprefix $(intermediates)/,$(asm_sources_asm:.asm=.o))
$(asm_objects_asm): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.asm \
$(LOCAL_ADDITIONAL_DEPENDENCIES)
$(transform-asm-to-o)
asm_objects += $(asm_objects_asm)
endif
endif
####################################################
## Import includes
####################################################

View file

@ -367,6 +367,8 @@ BISON_PKGDATADIR := $(PWD)/external/bison/data
BISON := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/bison/bison
YACC := $(BISON) -d
YASM := prebuilts/misc/$(BUILD_OS)-$(HOST_PREBUILT_ARCH)/yasm/yasm
DOXYGEN:= doxygen
AAPT := $(HOST_OUT_EXECUTABLES)/aapt$(HOST_EXECUTABLE_SUFFIX)
AIDL := $(HOST_OUT_EXECUTABLES)/aidl$(HOST_EXECUTABLE_SUFFIX)

View file

@ -1039,6 +1039,16 @@ $(transform-s-to-o-no-deps)
$(transform-d-to-p)
endef
# YASM compilation
define transform-asm-to-o
@mkdir -p $(dir $@)
$(hide) $(YASM) \
$(addprefix -I , $(PRIVATE_C_INCLUDES)) \
-f elf32 -m x86 \
$(PRIVATE_ASFLAGS) \
-o $@ $<
endef
###########################################################
## Commands for running gcc to compile an Objective-C file
## This should never happen for target builds but this