android telephony 模块Rules.make


#*****************************************************************************
# 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)
#****************************************************************************

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值