您的位置:首页 > 移动开发 > Android开发

android telephony 模块Rules.make

2010-08-03 17:01 399 查看
#*****************************************************************************
# 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)
#****************************************************************************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: