android telephony 模組Rules.make

來源:互聯網
上載者:User

#*****************************************************************************
# BEGIN SECTION (Define)

# Define directory
#

#Project root

PXA_ROOT_DIR  := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
#################### above can locate the current directory ########################################
$(info --------------- $(PXA_ROOT_DIR) -------------)
CONFIG_CC_DEVELOPMENT=n

#Project source
PXA_SRC_DIR  := $(PXA_ROOT_DIR)

DUMMY   := $(shell if [ ! -e $(PXA_SRC_DIR)/.config ];then touch $(PXA_SRC_DIR)/.config;fi;)
include $(PXA_SRC_DIR)/.config
################# inclue current directory's .config ###################################
################### all patterns such as "CONFIG_PLATFORM_SAAR" used in Makefile are defined in .config #########################

################ where is the below directory? ##################################################################
PXA_SRC_PVK_DIR  := $(PXA_SRC_DIR)/preview-kit     ############not used in Makefile
PXA_SRC_PVK_LNX_DIR := $(PXA_ROOT_DIR)/../../../../../pxa930-kernel/
PXA_SRC_ANDROID_DEVICE_DIR := $(PXA_SRC_DIR)/../../../../../    #########not used in Makefile
PXA_SRC_IPP_DIR  := $(PXA_SRC_DIR)/ipp                          ###### not used in Makefile
PXA_SRC_GST_DIR  := $(PXA_SRC_DIR)/gstreamer                       ######## not used
PXA_SRC_UM_DIR  := $(PXA_SRC_DIR)/usage-model                ############# not used
PXA_SRC_GFX_DIR  := $(PXA_SRC_DIR)/graphics                   ###### not used
PXA_SRC_MPDC_DIR := $(PXA_SRC_DIR)/mpdc                         ######## not used
PXA_SRC_XDB_DIR := $(PXA_SRC_DIR)/xdb                             ####### not used
############################## all above directory can't be located in telephony root directory ##################################

###### such CONFIG_ defined in .config this one "n" ########################
ifeq "$(CONFIG_CPU_MHNL)" "y"
WTPTP_DIR_SUFFIX=pxa300
endif

ifeq "$(CONFIG_CPU_MHNLV)" "y"       ############ also " n" #############################
WTPTP_DIR_SUFFIX=pxa310
endif

ifeq "$(CONFIG_CPU_TAVOR)" "y"    ############# CONFIG_CPU_TAVOR "y" #############################
WTPTP_DIR_SUFFIX=pxa930
endif
PXA_SRC_WTPTP_DIR := $(PXA_SRC_DIR)/wtptp_$(WTPTP_DIR_SUFFIX)
### /home/sunrise/TavorVl9.2.003/src/pxalinux/marvell/src/wtptp_pxa930 well not in telephony directory ############################

ifeq "$(CONFIG_GEN_DEBUG)" "y" ####### not set CONFIG_GEN_DEBUG ##########################
DBG_REL_VER  := dbg
else
DBG_REL_VER  := rel   ####### rel maybe means release version ############################
endif
##########  locate a rel directory "/home/sunrise/TavorVl9.2.003/src/pxalinux/mavell/rel"   ##################

#Host related dir
ifeq "$(CONFIG_CC_DEVELOPMENT)" "y"     #####  this CONFIG defines in its own file "n" ###################
DUMMY   := $(shell if [ ! -e $$HOME/xscalelinux ];then mkdir -p $$HOME/xscalelinux;/
   cp -fr ../dbg $$HOME/xscalelinux;cp -fr ../rel $$HOME/xscalelinux;fi;)
PXA_HOST_DIR  := $(HOME)/xscalelinux/$(DBG_REL_VER)/host
else
PXA_HOST_DIR  := $(PXA_ROOT_DIR)/$(DBG_REL_VER)/host    ##### it takes effect  ###########
endif
PXA_HOST_INCLUDE_DIR := $(PXA_HOST_DIR)/include
PXA_HOST_LIB_DIR := $(PXA_HOST_DIR)/lib

#Target related dir
ifeq "$(CONFIG_CC_DEVELOPMENT)" "y"    ##### defines in this file " n " #######################################
PXA_TARGET_DIR  := $(HOME)/xscalelinux/$(DBG_REL_VER)/target
else
PXA_TARGET_DIR  := $(PXA_ROOT_DIR)/output
endif
PXA_TARGET_FS_DIR := $(PXA_TARGET_DIR)/marvell
PXA_TARGET_MOD_DIR := $(PXA_TARGET_FS_DIR)/lib/modules
PXA_TARGET_LIB_DIR := $(PXA_TARGET_FS_DIR)/usr/lib
PXA_TARGET_BIN_DIR := $(PXA_TARGET_FS_DIR)/usr/bin
PXA_TARGET_IMAGE_DIR := $(PXA_TARGET_DIR)/
# END SECTION (Define)

#*****************************************************************************

##############################################################################
# BEGIN SECTION (complier parameter)
#
# Compiler setting
#

export ARCH  := arm
ifeq "$(CONFIG_BIONIC)" "y" 
export CROSS_COMPILE    := arm-eabi-         #### this CROSS_COMPILE takes effect ################
else
export CROSS_COMPILE := arm-linux-
endif

#
# Include make variables (CC, etc...)
#
ASM := $(CROSS_COMPILE)as
LD := $(CROSS_COMPILE)ld
CC := $(CROSS_COMPILE)gcc
CPP := $(CROSS_COMPILE)c++
AR := $(CROSS_COMPILE)ar
RANLIB  := $(CROSS_COMPILE)ranlib
STRIP   := $(CROSS_COMPILE)strip
OBJCOPY := $(CROSS_COMPILE)objcopy
OBJDUMP := $(CROSS_COMPILE)objdump
CCOMPILER=$(CC)

ifeq "$(CONFIG_BIONIC)" "y"
include $(PXA_SRC_DIR)/Bionic.make    #### Bionic.make included #########
PXA_HOST_INCLUDE_DIR  := $(PXA_SRC_ANDROID_DEVICE_DIR)/vendor/marvell/external/alsa/alsa-lib/include
#PXA_HOST_INCLUDE_DIR  := $(PXA_SRC_ANDROID_DEVICE_DIR)/vendor/marvell/external/alsa/alsa-lib
else
LIBDIR := -L$(PXA_HOST_LIB_DIR) -L$(PXA_TARGET_FS_DIR)/lib -L$(PXA_SRC_DIR)
endif

COMMONCFLAGS = $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux -DLINUX -D__linux__ -fno-exceptions  
###### what's the above flags ?? #######################################

#
# Flag declare
#

ifeq "$(CONFIG_BIONIC)" "y"

ifeq "$(CONFIG_GEN_DEBUG)" "y"  ##### no here just " n " ##############
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS  = -I$(PXA_SRC_PVK_LNX_DIR) -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
    $(COMMONCFLAGS) $(BIONICS_INCS) -I$(PXA_SRC_PVK_LNX_DIR)/arch/arm/include
AFLAGS   = -mcpu=iwmmxt
else
############################                 #################################################
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall     ##### it takes effect here ##############
CFLAGS  = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
    $(COMMONCFLAGS) $(BIONICS_INCS) -I$(PXA_SRC_PVK_LNX_DIR)/arch/arm/include

AFLAGS   = -mcpu=iwmmxt
#WARNINGFLAG = -W
#CFLAGS  = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
#    -O2 $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
#AFLAGS  = -mcpu=iwmmxt
endif

CFLAGS+=-DBIONIC

################# the below will not impement ################################
else

ifeq "$(CONFIG_GEN_DEBUG)" "y"
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS  = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
    -g $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
AFLAGS   = -mcpu=iwmmxt
else
WARNINGFLAG = -Waggregate-return -Wmissing-noreturn -W -Wall
CFLAGS  = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
    -g $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
AFLAGS   = -mcpu=iwmmxt
#WARNINGFLAG = -W
#CFLAGS  = -I$(PXA_SRC_PVK_LNX_DIR)/include -I$(PXA_HOST_INCLUDE_DIR) $(LIBDIR)/
#    -O2 $(WARNINGFLAG) -mcpu=iwmmxt -mtune=iwmmxt -mabi=aapcs-linux
#AFLAGS  = -mcpu=iwmmxt
endif

endif
##################### the above will not implement #####################################

ifeq "$(CONFIG_INSTRUMENT)" "y"
CFLAGS+=-finstrument-functions -rdynamic
endif

.SUFFIXES : .o .S .s .cpp .c .i

.S.o :
 $(ASM) $(AFLAGS) -o $@ $<

.s.o :
 $(ASM) $(AFLAGS) -o $@ $<

.cpp.o :
 $(CPP) $(CFLAGS) -c -o $@ $<

.c.o :
 $(CC) $(CFLAGS) -c -o $@ $<

.c.i :
 $(CC) $(CFLAGS) -DDIAG_API_H -C -E -o $@ $<

ifneq ($(shell echo $$UID), 0)
export SUDO=sudo
else
endif

# END SECTION (complier parameter)
#****************************************************************************

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.