Home | History | Annotate | Download | only in android
      1 # Use bash for additional echo fancyness
      2 SHELL = /bin/bash
      3 
      4 ####################################################################################################
      5 ## defines
      6 
      7 # Build for Jellybean 
      8 BUILD_ANDROID_JELLYBEAN = $(shell test -d $(ANDROID_ROOT)/frameworks/native && echo 1)
      9 
     10 ## libraries ##
     11 LIB_PREFIX = lib
     12 
     13 STATIC_LIB_EXT = a
     14 SHARED_LIB_EXT = so
     15 
     16 # normally, overridden from outside 
     17 # ?= assignment sets it only if not already defined
     18 TARGET ?= android
     19 
     20 MLLITE_LIB_NAME     ?= mllite
     21 MPL_LIB_NAME        ?= mplmpu
     22 
     23 ## applications ##
     24 SHARED_APP_SUFFIX = -shared
     25 STATIC_APP_SUFFIX = -static
     26 
     27 ####################################################################################################
     28 ## compile, includes, and linker
     29 
     30 ifeq ($(BUILD_ANDROID_JELLYBEAN),1)
     31 ANDROID_COMPILE = -DANDROID_JELLYBEAN=1
     32 endif
     33 
     34 ANDROID_LINK  = -nostdlib
     35 ANDROID_LINK += -fpic
     36 ANDROID_LINK += -Wl,--gc-sections 
     37 ANDROID_LINK += -Wl,--no-whole-archive 
     38 ANDROID_LINK += -L$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib
     39 ANDROID_LINK += -L$(ANDROID_ROOT)/out/target/product/$(PRODUCT)/system/lib
     40 
     41 ANDROID_LINK_EXECUTABLE  = $(ANDROID_LINK)
     42 ANDROID_LINK_EXECUTABLE += -Wl,-dynamic-linker,/system/bin/linker
     43 ifneq ($(BUILD_ANDROID_JELLYBEAN),1)
     44 ANDROID_LINK_EXECUTABLE += -Wl,-T,$(ANDROID_ROOT)/build/core/armelf.x
     45 endif
     46 ANDROID_LINK_EXECUTABLE += $(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib/crtbegin_dynamic.o
     47 ANDROID_LINK_EXECUTABLE += $(ANDROID_ROOT)/out/target/product/$(PRODUCT)/obj/lib/crtend_android.o
     48 
     49 ANDROID_INCLUDES  = -I$(ANDROID_ROOT)/system/core/include
     50 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/hardware/libhardware/include
     51 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/hardware/ril/include
     52 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/dalvik/libnativehelper/include
     53 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/frameworks/base/include   # ICS
     54 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/frameworks/native/include # Jellybean
     55 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/external/skia/include
     56 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/out/target/product/generic/obj/include
     57 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/arch-arm/include
     58 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/include
     59 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libstdc++/include
     60 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/kernel/common
     61 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libc/kernel/arch-arm
     62 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm/include
     63 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm/include/arch/arm
     64 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libthread_db/include
     65 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm/arm
     66 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/bionic/libm
     67 ANDROID_INCLUDES += -I$(ANDROID_ROOT)/out/target/product/generic/obj/SHARED_LIBRARIES/libm_intermediates
     68 
     69 KERNEL_INCLUDES  = -I$(KERNEL_ROOT)/include
     70 
     71 INV_INCLUDES  = -I$(INV_ROOT)/software/core/driver/include
     72 INV_INCLUDES += -I$(MLLITE_DIR)
     73 INV_INCLUDES += -I$(MLLITE_DIR)/linux
     74 
     75 INV_DEFINES += -DINV_CACHE_DMP=1
     76 
     77 ####################################################################################################
     78 ## macros
     79 
     80 ifndef echo_in_colors
     81 define echo_in_colors
     82 	echo -ne "\e[1;32m"$(1)"\e[0m"
     83 endef 
     84 endif
     85 
     86 
     87 
     88