blob: acd3debef7dfebc083275db971027ef3a1815365 [file] [log] [blame]
# Use bash for additional echo fancyness
SHELL = /bin/bash
####################################################################################################
## defines
# Build for Jellybean
BUILD_ANDROID_JELLYBEAN = $(shell test -d $(ANDROID_ROOT)/frameworks/native && echo 1)
## libraries ##
LIB_PREFIX = lib
STATIC_LIB_EXT = a
SHARED_LIB_EXT = so
# normally, overridden from outside
# ?= assignment sets it only if not already defined
TARGET ?= android
MLLITE_LIB_NAME ?= mllite
MPL_LIB_NAME ?= mplmpu
## applications ##
SHARED_APP_SUFFIX = -shared
STATIC_APP_SUFFIX = -static
####################################################################################################
## compile, includes, and linker
ifeq ($(BUILD_ANDROID_JELLYBEAN),1)
ANDROID_COMPILE = -DANDROID_JELLYBEAN=1
endif
ANDROID_LINK = -nostdlib
ANDROID_LINK += -fpic
ANDROID_LINK += -Wl,--gc-sections
ANDROID_LINK += -Wl,--no-whole-archive
ANDROID_LINK += -L$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib
ANDROID_LINK += -L$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/system/lib
ANDROID_LINK_EXECUTABLE = $(ANDROID_LINK)
ANDROID_LINK_EXECUTABLE += -Wl,-dynamic-linker,/system/bin/linker
ifneq ($(BUILD_ANDROID_JELLYBEAN),1)
ANDROID_LINK_EXECUTABLE += -Wl,-T,$(ANDROID_ROOT)/build/core/armelf.x
endif
ANDROID_LINK_EXECUTABLE += $(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib/crtbegin_dynamic.o
ANDROID_LINK_EXECUTABLE += $(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib/crtend_android.o
ANDROID_INCLUDES = -I$(ANDROID_ROOT)/system/core/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/hardware/libhardware/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/hardware/ril/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/dalvik/libnativehelper/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/frameworks/base/include # ICS
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/frameworks/native/include # Jellybean
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/external/skia/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/out/target/product/generic/obj/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/arch-arm/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libstdc++/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/kernel/common
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/kernel/arch-arm
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm/include/arch/arm
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libthread_db/include
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm/arm
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm
ANDROID_INCLUDES += -I$(ANDROID_ROOT)/out/target/product/generic/obj/SHARED_LIBRARIES/libm_intermediates
KERNEL_INCLUDES = -I$(KERNEL_ROOT)/include
INV_INCLUDES = -I$(INV_ROOT)/software/core/driver/include
INV_INCLUDES += -I$(MLLITE_DIR)
INV_INCLUDES += -I$(MLLITE_DIR)/linux
INV_DEFINES += -DINV_CACHE_DMP=1
####################################################################################################
## macros
ifndef echo_in_colors
define echo_in_colors
echo -ne "\e[1;32m"$(1)"\e[0m"
endef
endif